[comp.parallel] The Logix system version 2.0 release 7

ok@Sun.COM (Richard A. O'Keefe) (06/01/88)

Version 2.0 of the Logix system, release 7, is available.  Licensed users
can obtain the new release by sending a 1/2" tape or a 1/4" cartridge to:

        Mr Yossef Dabby
        Dept. of Applied Math and Computer Science
        The Weizmann Institute of Science
        Rehovot 76100
        Israel

Please include a letter explaining that you are a licensed Logix user and
wish to get an updated release.

Unlicensed users can send to that address a request for a copy of the
license agreement, or send e-mail to me for an electronic copy.  There is
a $250 handling fee for new licensees.  Logix is available for Sun2, Sun3,
and for VAX and CCI computers running BSD/4.2 and up.

Logix is a single-user multi-tasking concurrent logic programming
environment, developed as a group effort at the Weizmann Institute of
Science.  It runs as a single Unix process.  Its low-end (abstract machine,
about 7000 lines of source code) is written in C; its high-end (everything
else, more than 10,000 lines of source code) is written in Flat Concurrent
Prolog (FCP).  The model of computation of FCP is based on dynamic
light-weight (some say feather-weight) nondeterministic processes,
communicating by binding logical variables, and synchronizing by waiting
for such bindings.  Normal computations generate thousands of concurrent
processes; Logix, when idle, consists of about 1000 suspended processes.

Logix has been heavily used at the Weizmann Institute and other places for
the past two years for various applications, including its own development,
compiler development, parallel and distributed algorithm development,
embedded-language implementation, hardware simulation, etc.  An account of
its applications can be found in
	``Concurrent Prolog:  Collected Papers'',
	E. Shapiro (ed.),
	MIT Press, 1987,
	ISBN 0-262-19255-1 (2-volume set)

Since Logix's first release, the following improvements and enhancements
were made:

1. Embedded languages
        The system supports various embedded languages, including:
        - FCP(|,:,?), a superset of Oc and of Flat GHC (and hence supports
                also Flat GHC).
        - Typed FCP, a typed variant of FCP, with an accompanying type checker.
        - The implicit variables (also called framed logic programs)
                notation.
2. System support
        - Hierarchical module system, integrated with the Unix hierarchical
                file system.
        - Concurrent interactive debugger (not an algorithmic one yet,
                though one is under development).
        - Support for syntax extension and user-defined embedded languages
        - Support for meta-programming
        - Multiple execution modes: trust, failsafe, interrupt,
                interpret.
        - Support for multiple virtual machines (to be of real use only
                in future multiprocessor versions of Logix).
        - Nested, interactive computation control.
        - `lint' like analysis of common errors.
3. Emulator support
        - Foreign kernels/ C interface/ Unix interface/ Native code interface
        - Double-precision floating point arithmetic.
        - Freeze/melt primitives.
        - Speed has almost doubled since first release.  On a Sun 3/50 it
          runs the standard concurrent naive reverse benchnmark at 5K process
          reductions per second.  It creates processes at a peak rate of
          1500 a second, and can maintain up to 50,000 (fifty
          thousand) concurrent processes in a 4MB heap.


There is also an unsupported implementation of FCP for the iPSC/I Hypercube,
which does not include the Logix development environment.
If you want more info on FCP for the iPSC/I let me know.

        -- Ehud Shapiro
        udi@wisdom.bitnet
                                                May 30, 1988

udi%WISDOM.BITNET@CUNYVM.CUNY.EDU (Ehud Shapiro) (06/15/88)

Version 2.0 of the Logix system, release 7, is available. Licensed
users can obtain the new release by sending a 1/2" tape or a 1/4" cartridge to:

        Mr Yossef Dabby
        Dept. of Applied Math and Computer Science
        The Weizmann Institute of Science
        Rehovot 76100
        Israel

Please include a letter explaining that you are a licensed Logix user and
wish to get an updated release.

Unlicensed users can send to that address a request for a copy of
the license agreement, or send e-mail to me for an electronic copy.
There is a $250 handling fee for new licensees. Logix is available
for Sun2, Sun3, and for VAX and CCI computers running BSD/4.2 and up.

Logix is a single-user multi-tasking concurrent logic programming
environment, developed as a group effort at the Weizmann Institute of
Science.  It runs as a single Unix process.  Its low-end (abstract
machine, about 7000 lines of source code) is written in C; its
high-end (everything else, more than 10,000 lines of source code) is
written in Flat Concurrent Prolog (FCP). The model of computation of
FCP is based on dynamic light-weight (some say feather-weight)
nondeterministic processes, communicating by binding logical
variables, and synchronizing by waiting for such bindings.  Normal
computations generate thousands of concurrent processes; Logix, when idle,
consists of about 1000 suspended processes.

Logix has been heavily used at the Weizmann Institute and other places
for the past two years for various applications, including its own
development, compiler development, parallel and distributed algorithm
development, embedded-language implementation, hardware simulation,
etc. An account of its applications can be found in ``Concurrent
Prolog: Collected Papers'', E. Shapiro (ed.), MIT Press, 1987.

Since Logix's first release, the following improvements and enhancements
were made:

1. Embedded languages
        The system supports various embedded languages, including:
        - FCP(|,:,?), a superset of Oc and of Flat GHC (and hence supports
                also Flat GHC).
        - Typed FCP, a typed variant of FCP, with an accompanying type checker.
        - The implicit variables (also called framed logic programs)
                notation.
2. System support
        - Hierarchical module system, integrated with the Unix hierarchical
                file system.
        - Concurrent interactive debugger (not an algorithmic one yet,
                though one is under development).
        - Support for syntax extension and user-defined embedded languages
        - Support for meta-programming
        - Multiple execution modes: trust, failsafe, interrupt,
                interpret.
        - Support for multiple virtual machines (to be of real use only
                in future multiprocessor versions of Logix).
        - Nested, interactive computation control.
        - `lint' like analysis of common errors.
3. Emulator support
        - Foreign kernels/ C interface/ Unix interface/ Native code interface
        - Double-precision floating point arithmetic.
        - Freeze/melt primitives.
        - Speed has almost doubled since first release.  On a Sun 3/50 it
          runs the standard concurrent naive reverse benchnmark at 5K process
          reductions per second.  It creates processes at a peak rate of
          1500 a second, and can maintain up to 50,000 (fifty
          thousand) concurrent processes in a 4MB heap.


There is also an unsupported implementation of FCP for the iPSC/I Hypercube,
which does not include the Logix development environment.
If you want more info on FCP for the iPSC/I let me know.

        -- Ehud Shapiro
        udi@wisdom.bitnet
                                                May 30, 1988