Newsgroups: comp.lang.prolog,comp.object.logic
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!yale!yale.edu!spool.mu.edu!howland.reston.ans.net!news.sprintlink.net!news.uoregon.edu!news.bc.net!news.sfu.ca!fornax!news
From: Hassan Ait-Kaci <hak>
Subject: Re: FAQ on LP syetems
Content-Type: text/plain; charset=us-ascii
Message-ID: <1995Sep24.205552.23789@cs.sfu.ca>
Sender: news@cs.sfu.ca
Content-Transfer-Encoding: 7bit
Organization: Simon Fraser University
Mime-Version: 1.0
Date: Sun, 24 Sep 1995 20:55:52 GMT
X-Mailer: Mozilla 1.1N (X11; I; OSF1 V3.0 alpha)
X-Url: news:comp.lang.prolog
Lines: 102
Xref: glinda.oz.cs.cmu.edu comp.lang.prolog:13913 comp.object.logic:535

[This is for Mark Kantorowitz and all interested in LIFE.]

Hi Mark,

For some stange reason your email address (maybe the '+' in it?) does
not work from here. So I am sending this to the newsgroups where your
FAQ on LP systems appears.

Could you please update the entry on LIFE in the FAQ in question? Thanks.

I'm appending a more up-to-date entry below.

Best regards,

-hak           -----------------------------------------------
               Hassan Ait-Kaci, Professor
               MPR Teltech NSERC Chair in Intelligent Software
               School of Computing Science
               Simon Fraser University
               Burnaby, British Columbia
               V5A 1S6, Canada
               -----------------------------------------------
               email: hak@cs.sfu.ca
               -----------------------------------------------
               phone: (604) 291 55 89
               fax:   (604) 291 30 45
               -----------------------------------------------
               www:   http://www.isg.sfu.ca/~hak/
               -----------------------------------------------

LIFE (Logic, Inheritance, Functions, and Equations) is a general-purpose
programming language with a powerful facility for structured type
inheritance.  It reconciles styles from functional programming, logic
programming, object-oriented programming, and constraint logic
programming. 

In is bare essence, 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. These mechanisms are used in
rule-based programming (a la Prolog), functional programming (a la
LISP), object-oriented programming (a la SmallTalk), and
constraint-driven programming. In addition to the varied programming
styles that it combines, LIFE make possible, or introduces. a few
original constructs.  LIFE's expressive power subsumes the functionality
of its precursor languages LOGIN and Le_Fun. As such, it may be seen as
an extension of Prolog, and so, the syntax of Wild_LIFE has been kept as
close as possible to that of the "Edinburgh" standard for Prolog.

In its current form, LIFE supports rule-based programming (a la Prolog),
functional programming (a la LISP), object-oriented programming (a la
SmallTalk), and constraint-driven programming. This system runs on UNIX
platforms and is endowed with an X-Windows interface, an SQL database
interface, and extended with a network interface and primitives for
distributed computation. The class of applications for which LIFE is
adequate is very wide, ranging from constraint-based and grammar-based
graphics, to natural language processing, knowledge representation,
expert systems, as well as intelligent agents and network servers,
etc... Wild_LIFE, the DEC PRL proototype of LIFE is being used for
developing "proof-of-concept" applications. It supports natively
high-level abstraction facilities and convenient data and control
structures particularly well-suited for AI programming (notably, but
non-exclusively, formal or natural language processing, whether
word-oriented or graphical, constraint-based executable specifications,
knowledge representation, symbolic reasoning, expert systems, learning,
etc.).

Currently, Wild_LIFE runs on UNIX platforms and PC's running LINUX. It
is endowed with an X-Windows interface, an SQL database interface, and
extended with a network interface and primitives for distributed
computation. The class of applications for which Wild_LIFE is adequate
is very wide. It ranges from knowledge representation to computational
linguistics, constraint-based and grammar-based graphics, expert
systems, as well as intelligent agents and network servers, etc...

Originally developed at Digital's Equipment Corporation's late Paris
Research Laboratory (DEC PRL), it has now been extended and is
maintained by Hassan Ait-Kaci's project at Simon Fraser University
(SFU) as part of the Intelligent Software Group (ISG).

Although the DEC PRL prototype of LIFE is *not* public-domain software,
it is distributed freely provided the copyright notices are respected.
It comes with sources and several convenient libraries and programs.
Anyone may use it for developing applications, but it may not be used
itself commercially without permission from DEC. The part done at SFU
and other LIFE programs shared publicly by LIFE users is free and public
domain, unless specified otherwise.

The latest release of Wild_LIFE and it's designers' future programming
progeny is available at http://www.isg.sfu.ca/life and researh related
to LIFE can be found at http://www.isg.sfu.ca/.

On-going work at the ISG is building a compiler aimed at supporting
large and scalable intelligent software applications, but also we do
research on extending LIFE with better though efficient functionality.
A relatively modest international community of users in varied areas
exists. In order to be added to the mailing list (life-users@cs.sfu.ca),
send mail to life-request@cs.sfu.ca. Send bug reports to life-bugs@cs.sfu.ca.

