Easel: an indefinite computing language

Date

2007-05

Journal Title

Journal ISSN

Volume Title

Publisher

Texas Tech University

Abstract

This work begins development of a functional language, Easel, with declarative denotational semantics similar to human mathematical discourse. Practical advantages of this include established methods of representation and analysis. Well-founded Easel programs have denotational semantics, the formal analog of the informal mathematical notion of well-definedness.

Easel programs are rewrite systems with guard conditions and are genuinely denotational in that the algorithm for evaluation is explicitly not constrained. While this yields a number of potential optimizations unique to Easel it also requires methodological changes due to a shift in burden from the compiler to the programmer.

Easel semantics are constructively defined and shown to be Turing complete. The specification for an Easel implementation is given and a reference implementation for Java allows terms to be evaluated. As the syntax for Easel is primitive and side-effects are not allowed, it is expected Easel will act as a computation server or as a meta-language for more readable languages, such as SequenceL. Initial performance measurements are reported.

Description

Citation