From vanroy@prl.dec.com Tue Mar 29 23:05:20 EST 1994 Article: 21378 of comp.ai Xref: glinda.oz.cs.cmu.edu comp.ai:21378 Newsgroups: comp.ai Path: honeydew.srv.cs.cmu.edu!rochester!udel!gatech!howland.reston.ans.net!math.ohio-state.edu!sdd.hp.com!decwrl!pa.dec.com!decprl!decprl!vanroy From: vanroy@prl.dec.com (Peter Van Roy) Subject: Announcing the release of Wild_Life 1.0 Message-ID: <1994Mar28.083601.20801@prl.dec.com> Lines: 91 Sender: news@prl.dec.com (USENET News System) Nntp-Posting-Host: prl332.prl.dec.com Reply-To: vanroy@prl.dec.com (Peter Van Roy) Organization: DEC Paris Research Laboratory X-Newsreader: mxrn 6.18-4 Date: Mon, 28 Mar 1994 08:36:01 GMT Keywords: Announcing the release of Wild_Life 1.0 --------------------------------------- Digital Equipment Corporation's Paris Research Laboratory is pleased to announce the release of Wild_Life 1.0, a prototyping system based on the LIFE language. LIFE (Logic, Inheritance, Functions, Equations) is an experimental programming language with a powerful facility for structured type inheritance. LIFE was conceived at MCC by Hassan Ait-Kaci. LIFE derives its syntax and resolution method from Prolog, and it is straightforward to modify Prolog programs to run under LIFE. However, the addition of functions, approximation structures (psi-terms), and inheritance greatly enriches the language and allows one to formulate efficient programs more easily, more concisely, and more naturally. The main design goals for the Wild_Life interpreter are functionality and robustness. Wild_Life has been implemented to be a reliable tool for prototyping applications that require representing and manipulating complex data structures, with many interdependencies. It comes with several powerful tools (including a preprocessor, parsers, and a graphical interface toolkit) that aid in prototyping. The system is available by anonymous ftp from gatekeeper.dec.com in pub/plan/Life1.0.tar.Z. Uncompress and untar this file to obtain the Life1.0 directory. See the README file for further instructions. This system runs on MIPS/Ultrix (DECstations), Alpha/OSF-1, SPARC/SunOS, and with minor changes is able to run on RS/6000 and SGI machines. If you port it to other machines, please send us a list of the changes that were necessary. The system includes: o A license agreement. o The C and LIFE source code of Wild_Life 1.0. o Documentation: a manual, a manpage, and documentation for the tools. o A set of tools written in LIFE: X interface, graphical interface toolkit, accumulator preprocessor, debugger, profiler, user interface shell, tokenizer, parser. o A set of example programs written in LIFE: SuperLint (a user-customizable checker for C programs), a flower-drawing program, an incremental Gaussian equation solver, a graphical displayer for cyclic objects, and various smaller programs. o A test suite: more than 300 programs to exhaustively test the system. The following e-mail addresses are relevant to LIFE: o life-users@prl.dec.com. A mailing list of people using LIFE or interested in specific aspects of LIFE: theory, implementation, or applications. o life-users-request@prl.dec.com. To request to be put on or removed from the life-users mailing list. o life-bugs@prl.dec.com. If you find a bug, please send the smallest self-contained program that illustrates the bug to this address. LIFE versus Prolog ------------------ It is our experience that after using LIFE, one feels a reluctance going back to Prolog again. The reason is simple: LIFE provides intuitive and elegant solutions to several of Prolog's frustrating limitations, without sacrificing any of its conveniences nor its formal appeal. Here are some of the features it supports: 1. Functions, including higher-order functions and arithmetic done right 2. Object-orientation 3. C-like records 4. Expandable data-structures: arrays and hash-tables 5. Type definitions and multiple inheritance 6. Correct manipulation of cyclic structures 7. Constraint coroutining 8. Global variables 9. Backtrackable in-place assignment 10. Persistent data structures Semantically, most of the above features are consequences of the two ways in which LIFE extends Prolog: 1. Herbrand terms are replaced by psi-terms. 2. Call-by-matching is added (Prolog only has call-by-unification). Migration from Prolog to LIFE is easy. The Wild_Life interpreter is of high quality. The largest programs written using it so far run over 10000 lines, for example the SuperLint program. We are working on a compiler that is efficient and scalable. That is, it will be competitive with the best implementations of Prolog and it will be usable for arbitrary large programs and data. The compiler is itself written in LIFE. ---------------------------------------------------------------- Peter Van Roy DEC Paris Research Laboratory Email: vanroy@prl.dec.com Phone: (33)-1-47.14.28.65