EqL's User's Guide

Abstract : EqL is a general-purpose language that combines the capabilities of functional and logic programming languages. A program is EqL (Equational Language) 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. This report describes EqL informally, by first presenting the syntax of constructs and the built-in operations, and then showing how to write and run programs using the EqL interpreter. Several examples are presented, illustrating the various features of the language: nondeterminism, logical variables, deferred evaluation of primitives, higher-order operations, and user-defined constructors. The report also describes I/O operations and other features of the interpreter, including program tracing. Keywords: Functional programming; Logic programming; Debugging.