CMU Artificial Intelligence Repository
EqL: General purpose language combining functional and
logic programming
lang/prolog/impl/fp_lp/eql/
EqL is a general-purpose language that combines the capabilities of
functional and logic programming languages. A program in EqL consists
of a collection of conditional, pattern-directed rules, where the
conditions are expressed as a conjunction of equations, and the
patterns are terms built up of data-constructors and basic values.
Due to its expressional syntax, EqL directly supports functional
programming. EqL also supports logic programming, as all its
variables are 'logical variables' and Prolog-style nondeterminism is
allowed. A limited form of constraint reasoning, going beyond
traditional functional and logic programming, is also supported.
Further details of the language are described in UNC TR 87-010.
The declarative semantics of a set of equations is expressed in terms
of its complete set of solutions. The computational paradigm in EqL is
equation solving, which may also be viewed as a form of 'innermost
narrowing', a restriction on narrowing that enables more efficient
computation of solutions (see the 1988 IEEE-SE paper for details).
The EqL interpreter runs about half as fast as the C-Prolog
interpreter on Vaxes and Suns, and has a modest number of features
to aid debugging and program testing.
Origin:
ftp.cs.buffalo.edu:users/bharat/EqL/
Version: 1.0 (May 1987)
Ports: Sun3, VAX
Updated: 21-OCT-92
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Bharat Jayaraman
Gopal Gupta
Contact: Bharat Jayaraman
226 Bell Hall
SUNY at Buffalo
Buffalo, NY 14260
Tel: 716-645-3194
Please let Bharat know if you're using EqL, so that you
can be included in their mailing list.
Keywords:
Authors!Gupta, Authors!Jayaraman, Eliza, EqL,
Interpreters!Prolog, N-Queens, NMSU,
Programming Languages!Functional Programming,
Programming Languages!Logic Programming,
Prolog!Implementations, SUNY/Buffalo
References:
B. Jayaraman and F.S.K. Silbermann, "Equations, Sets, and Reduction
Semantics for Functional and Logic Programming", Proc. of 1986 ACM
Conference on LISP and Functional Programming}, pp. 320-331, M.I.T.,
August, 1986. (superceded by 1988 IEEE paper below)
B. Jayaraman and G. Gupta, "EqL User's Guide", Technical Report
87-010, Department of Computer Science, University of North Carolina at
Chapel Hill, May 1987 (revised September 87), 28 pages.
[Included in the distribution as userguide.tex.]
B. Jayaraman and G.~Gupta, "Parallel Execution of an Equational
Language", Proc. Graph Reduction Workshop, Lecture Notes in Computer
Science 279:370-381, Springer-Verlag, October 1987.
G. Gupta, "An Interpreter for EqL", M.S. Thesis, UNC/Chapel Hill,
December 1987, 55 pages.
B. Jayaraman, "Semantics of EqL", IEEE Transactions on Software
Engineering SE-14(4):472-480, April 1988.
B. Jayaraman and G. Gupta, "EqL: The language and its implementation",
IEEE Transactions on Software Engineering SE-15(6):771-779, June 1989.
Last Web update on Mon Feb 13 10:34:35 1995
AI.Repository@cs.cmu.edu