udi@WISDOM.BITNET (06/15/88)
Subject: The Logix system version 2.0 release 7 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