Issue No. 06 - June (1989 vol. 15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.24730
<p>EqL, a general-purpose language that combines the capabilities of functional and logic programming languages, is described. 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. The computational paradigm in EqL is equation solving. Examples illustrating the major features of the language, nondeterminism, deferred evaluation of primitives, and logical variables are presented. The aspects of a sequential implementation for EqL, such as compile-time flattening of equations, run-time equation-delaying, and last-equation optimization, are also described.</p>
conditional rules; functional programming; general-purpose language; logic programming languages; EqL; pattern-directed rules; data-constructors; basic values; computational paradigm; equation solving; nondeterminism; deferred evaluation; logical variables; sequential implementation; compile-time flattening; run-time equation-delaying; last-equation optimization; equations; functional programming; high level languages; logic programming; mathematics computing
G. Gupta and B. Jayaraman, "EQL: The Language and its Implementation," in IEEE Transactions on Software Engineering, vol. 15, no. , pp. 771-779, 1989.