CMU Artificial Intelligence Repository
Wild_LIFE: Implementation of LIFE, a programming language
that integrates functional programming, logic
programming, and object-oriented programming.
lang/prolog/impl/fp_lp/life/
LIFE (Logic, Inheritance, Functions, and Equations) is an experimental
programming language with a powerful facility for structured type
inheritance. It reconciles styles from functional programming, logic
programming, and object-oriented programming. It subsumes, and fully
contains the functionality of, the precursor languages LOGIN and Le_Fun.
The syntax of Wild_LIFE has been kept as close as possible to that of the
Edinburgh family of Prolog so that Prolog compatibility is easy to
achieve.
From a theoretical point of view, LIFE implements a constraint logic
programming language with equality (unification) and entailment (matching)
constraints over order-sorted feature terms. The interplay of unification
and matching provides an implicit coroutining facility thanks to an
automatic suspension mechanism. This allows interleaving interpretation
of relational and functional expressions which specify structural
dependencies on objects.
Wild_LIFE includes a set of non-trivial example programs including an
incremental Gaussian equation solver, a PERT scheduler, a full LIFE
parser, a flower-drawing program that handles X events, uses an X
toolkit and a 3D turtle graphics package written in LIFE and compiles
rewrite rules into LIFE. It also includes an extensive test suite to
verify the correct operation of the interpreter.
Origin:
gatekeeper.dec.com:/pub/plan/Life1.0.tar.Z
Version: 1.0 (18-MAR-94); 0.91 (11-FEB-93)
Ports: DECStations (MIPS/Ultrix), SPARCstations, Alpha (OSF/1),
RS/6000, SGI
Copying: Copyright (c) 1991-93 Digital Equipment Corporation,
Paris Research Laboratory. Use, copying, modification,
and distribution permitted. See the license.txt file for details.
Updated: Wed Dec 7 14:44:01 1994
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Bug Reports: life-bugs@cs.sfu.ca
Mailing List: life-users@cs.sfu.ca
(Send mail to life-users-request@cs.sfu.ca to be added to
the mailing list.)
Author(s): Paradise project at the DEC Paris Research Laboratory
Written by Peter Van Roy, Richard Meyer, and Jean-Claude Herve,
with contributions from Hassan Ait-Kaci, Seth Copen Goldstein,
and Abder Aggoun. The user manual was written by Hassan
Ait-Kaci, Richard Meyer, and Peter Van Roy.
Contact: Peter Van Roy
Digital Equipment Corporation
Paris Research Laboratory
85, avenue Victor Hugo
92500 Rueil-Malmaison Cedex
FRANCE
Tel: 33-1-47-14-28-65
Fax: 33-1-47-14-28-99
[The LIFE work has moved to Simon Fraser University in Vancouver]
Keywords:
Authors!Herve, Authors!Meyer, Authors!Van Roy, DEC!PRL,
Gaussian Equations, Interpreters!Prolog, PERT Scheduling,
Programming Languages!Functional Programming,
Programming Languages!Logic Programming,
Programming Languages!OOP, Prolog!Implementations,
Turtle Graphics, Wild_LIFE
References:
A draft user manual is included in the release.
The following reports are available from the doc-server@prl.dec.com
mail server. Include the listed commands in the SUBJECT line of the
mail message. For printed versions, include your name and address in
the message body.
Research Report Number 11: Towards a Meaning of LIFE.
Hassan Ait-Kaci and Andreas Podelski. June 1991.
(Revised version, Oct. 1992)
Command for Online Version: send report 11
Command for Printed Version: order report 11
Research Report Number 12: Residuation and Guarded Rules
for Constraint Logic Programming. Gert Smolka. June 1991.
Command for Online Version: send report 12
Command for Printed Version: order report 12
Research Report Number 13: Functions as Passive Constraints
in LIFE. Hassan Ait-Kaci and Andreas Podelski. June 1991.
Command for Online Version: send report 13
Command for Printed Version: order report 13
Hassan Ait-Kaci, "A Glimpse of Paradise",
Proceedings of the Workshop on Programming Languages of the 90's,
Kiev, Ukraine, USSR (October, 1990).
Lecture Notes in Computer Science, Springer-Verlag, 1991
Command for Online Version: send article AIT1
Command for Printed Version: order article AIT1
Hassan Ait-Kaci, "An Overview of LIFE",
Proceedings of the Workshop on Programming Languages of the 90's,
Kiev, Ukraine, USSR (October, 1990).
Lecture Notes in Computer Science, Springer-Verlag, 1991
Command for Online Version: send article AIT2
Command for Printed Version: order article AIT2
Hassan Ait-Kaci and Patrick Lincoln,
"LIFE, a Natural Language for Natural Language",
T.A. Informations, Revue internationale du traitement automatique
du langage, vol. 30, number 1-2, 1989.
Command for Online Version: send article AIT3
Command for Printed Version: order article AIT3
Last Web update on Mon Feb 13 10:34:36 1995
AI.Repository@cs.cmu.edu