taskSavannah Administration - Tasks: task #7101, Submission of Emulated Flat...


task #7101: Submission of Emulated Flat Concurrent Prolog

Submitted by:  William Silverman <zevkaspi>
Submitted on:  Sat 21 Jul 2007 08:30:01 PM UTC  
Should Start On:  Sat 21 Jul 2007 12:00:00 AM UTC Should be Finished on:  Tue 31 Jul 2007 12:00:00 AM UTC
Category:  Project Approval Priority:  7 - High
Status:  Done Privacy:  Public
Percent Complete:  0% Assigned to:  Sylvain Beucler <Beuc>
Open/Closed:  Closed Effort:  0.00

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Sun 16 Sep 2007 06:06:07 PM UTC, comment #6: 


> What language should be used to prepare the uploaded
> documentation? HTML, XML, Latex, Word, Rich Markup, ...?

You can any any format that can be fully used with free software.

Word and RTF are not accepted - they can be used with OpenOffice but the best way to edit those files (without any incompatibility) is still to use proprietary software, so using those formats entices people to use such software. ODT (Open Document Text, used by OpenOffice.org 2) is good.

HTML is OK as long as it comes with the source format (eg if you used DocBook to generate HTML pages, you need to publish the DocBook as well, not only the HTML). If HTML is the source format, then no problem, as long as it doesn't require the feature of a proprietary browser to work.

I think you get the point now :)

Sylvain Beucler <Beuc>In charge of this item.
Sat 15 Sep 2007 07:53:45 PM UTC, comment #5: 

Hi Sylvain,

Note1: I rush too much sometimes; not knowing sed well, I fiddled the script until I got it working - I fiddled away the 51 !  I'll fix it!

Note2: There is nothing wrong with your migration script under cygwin.
The error was mine, as I did not examine the script closely, and failed to change ... Temple Place - Suite 330 ... to ... Temple Place, Suite 330 ... as it appeared in my inclusions and READMEs.

> I approved your project. You'll receive a conformation mail shortly.

Thanks!  I have the confirmation.

What language should be used to prepare the uploaded documentation? HTML, XML, Latex, Word, Rich Markup, ...?

Be assured that I will include the license in all uploaded documentation.

William Silverman <zevkaspi>
Sat 15 Sep 2007 01:27:25 PM UTC, comment #4: 


(Note1: the FSF adress is 51 Franklin Street)
(Note2: what error do you get under Cygwin?)

I approved your project. You'll receive a conformation mail shortly.

For documentation: we only accept documentation released under the GNU Free Documentation License, or a compatible license. If you upload your documentation at Savannah, make sure the license fits this requirement - feel free to contact us for more information.

Sylvain Beucler <Beuc>In charge of this item.
Fri 14 Sep 2007 02:52:20 PM UTC, comment #3: 

A new tadball is available at:


The tarball includes the (abstract) "binaries" since at present there is no way to bootstrap the system (e.g. using a C code-generator); the system is self-supporting.  The part EFCP/Logix is included for your convenience - if you wish, I can include a script which extracts the "executable" system from EFCP/Source/Logix.  Meanwhile, all of the source is in EFCP/Source; it can be installed as is, without extracting the stripped "executable" version.

The address in the license notices has been corrected, and a contact e-mail address has been added.  Thanks for the pointer to the migration script (btw, it behaves somewhat oddly on cygwin).

The Documentation was included for your information.  It has to be completely rewritten and reorganized.  Some of it, such as supplement.mss is very old.  Other parts of the Documentation were written for molecular biologists, particularly the SpiFcp and BioSpi sections.  If you wish, I can add licensing information to the present documents and include it in the submission.

In fact, part of the documentation is hosted at:


mostly as part of the current distribution of "BioSpi".  More documentation is available as part of:


Also several papers referring to the Logix system are available in "Concurrent Prolog: Collected Papers. Volume 1 & 2"; Shapiro, Ehud; MIT Press, 1987; ISBN: 0262192551.

Thanks for getting the submission moving.

William Silverman <zevkaspi>
Wed 12 Sep 2007 08:34:49 PM UTC, comment #2: 


I'm evaluating the project you submitted for approval in Savannah.

(I had some troubles understanding the architecture of the tarball - the source seems to also include the binaries).

I noticed that several files, namely in the EMULATOR part, use
the old FSF address. I changed, and is now:

  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Please update your license notices.

You can find some background and a possible migration script at https://savannah.gnu.org/forum/forum.php?forum_id=3766

(alternatively the GNU (L)GPLv3 standard notices include different wording that do not mention the FSF snail mail address - see http://www.gnu.org/licenses/gpl.html#howto)

Can you also clarify what you intend to do with the
documentation? Why is it not part of the submission? Is it meant
to be hosted somewhere else?

If you are willing to make the changes mentioned above, please provide us with an URL to an updated tarball of your project.  Upon review, we will reconsider your project for inclusion in Savannah.

To help us better keep track of your registration, please use the tracker's web interface following the link below. Do not reply directly, the registration process is not driven by e-mail, and we will not receive such replies.


Sylvain Beucler <Beuc>In charge of this item.
Sat 21 Jul 2007 08:50:04 PM UTC, comment #1: 

The file names http://www.weizmann.ac.il/~biospi/supplement.mss was mispelled.  It should have been:


See also:


for a quick introduction to the Logix system.

William Silverman <zevkaspi>
Sat 21 Jul 2007 08:30:01 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.

Registration Administration

While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):

Registration Details

  • Name: Emulated Flat Concurrent Prolog
  • System Name:  efcp
  • Type: non-GNU software & documentation
  • License: GNU General Public License v2 or later


The Emulator operates on a virtual machine, originally a Warren Abstract Machine (see Houri A. and Shapiro E. (1989) A sequential abstract machine for Flat Concurrent Prolog, J. Logic Programming 7,85?123) .  Currently it operates on a more complex instruction set(see S. Kliger. Compiling Concurrent Logic Programming Languages. PhD thesis, The Weizmann Institute of Science, Rehovot, October 1992).

The Emulator operates on Variables, Constants (integer, real, string, nil), Compound objects (list, tuple, vector), Modules, Procedures and Instructions (see http://www.weizmann.ac.il/~biospi/supplement.mss , Terminology, Appendices). Modules are collections of Procedures. Procedures are referenced syntactically by extended Horn Clauses. The primary Emulation loop selects a Procedure which is ready to be reduced.  Each clause of the procedure consists of a guard and a body.  The guard is a sequential list of predicates, each of which is represented by a sequential list of Instructions.  The clauses are examined (sequentially), resulting in success, suspension or failure.  A clause succeeds if each of its guard predicates succeed. In case of success, changes due to the guard are committed, and the the procedure calls are queued for reduction.  A clause suspends if some guard predicate cannot be reduced due to an as yet uninstantiated variable; changes due to the guard are rescinded.  A Procedure suspends, if no clause succeeds, but some clause suspends. A suspended Procedure is held until some variable on which it depends changes status (e.g. it is instantiated).  A clause fails if some predicate in the guard fails; changes due to the guard are rescinded.  A Procedure fails if every clause fails.  In case a Procedure fails, a message containing the procedure call is queued to a failure list.

The Emulator is extended to include support for non-logical functions (e.g. file, interface, math, timer, tty) ? see the corresponding C programs.  Extensions have been added to support instructions whicinvolve complex operations (e.g. ctl, freeze_term).  Extensions may be added to accelerate operations which might be performed less efficiently by Procedures or may require synchronization (e.g. concatenate, spicomm).  The doors extension supports internet communication.

The Logix system provides a kernel operating system and various support procedures, such as file access, an interactive shell, parsers, translators, compilers, debuggers, formatters, etc.  It consists of a hierarchy of directories containing modules (sets of Procedures) of the system.  A user is logically attached as a sub hierarchy of the system directory.  The user may call his own or Logix Procedures in other modules, using the syntax <module name>#<procedure call> (see http://www.weizmann.ac.il/~biospi supplement.mss, Services, System Service, Other Utilities).  The user at a console interacts with his Procedures and with the system via a tty interface, which is normally served by a shell.

In addition to the basic FCP language, various extensions of the language, including colon, compound, implicit extend the syntax and simplify notation (see http://www.weizmann.ac.il/~biospi/supplement.mss , Language).  The language syntax may be used to define new operators or to redefine existing operator syntax and/or priority.  The language evaluate may be used to add syntactic macros to any of the languages.   Another kind of extension extends any of the languages to include new functionality (e.g. Distributed Flat Concurrent Prolog, dfcp , Stochastic Pi Calculus, spifcp ) ; these languages usually employ an emulator extension.  Language extensions are accomplished by module transformation; multiple transformations may be applied to a module (e.g. [evaluate, compound, colon] ).

Other Software Required:

Some perl scripts are used for the spifcp and biospi extensions.
The bin directory, containing the perl scripts (EFCP/Source/bin), along with a working version of EFCP (EFCP/Logix), which may be configured for any of six platforms, is included in the tarball.

Other Comments:

The source of EFCP (EFCP/Source) is in a tarball at:
ftp-dmz.weizmann.ac.il/pub/bill/EFCP.tar.gz .
The tarball includes a working version of the system (EFCP/Logix) which may be derived from the Source.
Documentation of the Logix system, which is not part of this submission, is available at:
ftp-dmz.weizmann.ac.il/pub/bill/Documentation.tar.gz .

William Silverman <zevkaspi>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by Beuc (Updated the item)
  • -email is unavailable- added by zevkaspi (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-09-15 Beuc StatusWait reply => Done
        Open/ClosedOpen => Closed
    2007-09-12 Beuc StatusNone => Wait reply
        Assigned toNone => Beuc
    2007-09-10 Beuc Priority5 - Normal => 7 - High

    Back to the top

    Powered by Savane 3.5