CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

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