Non-deterministic Computations in ELAN

The ELAN system is an environment for specifying and prototyping constraint solvers, theorem provers and deduction systems in general. It also provides a framework for experimenting their combination.The ELAN language is based on rewriting logic and evaluation of labelled conditional rewrite rules. ELAN has two originalities with respect to several other algebraic languages, namely to handle nondeterministic computations and to provide a user-defined strategy language for controlling rule application. We focus in this paper on these two related aspects and explain how non-determinism is used in ELAN programs and handled in the ELAN compiler.

[1]  Hajime Sawamura,et al.  Recursive Unsolvability of Determinacy, Solvable Cases of Determinancy and their Applications to Prolog Optimization , 1985, SLP.

[2]  Hélène Kirchner,et al.  Completion of a Set of Rules Modulo a Set of Equations , 1986, SIAM J. Comput..

[3]  Paul Klint,et al.  A meta-environment for generating programming environments , 1989, TSEM.

[4]  Wolfgang Grieskamp,et al.  OPAL: Design and Implementation of an Algebraic Programming Language , 1994, Programming Languages and System Architectures.

[5]  Hélène Kirchner,et al.  Prototyping Completion with Constraints Using Computational Systems , 1995, RTA.

[6]  Claude Kirchner,et al.  Controlling rewriting by rewriting , 1996, WRLA.

[7]  M. Clavel,et al.  Principles of Maude , 1996, WRLA.

[8]  Zoltan Somogyi,et al.  The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language , 1996, J. Log. Program..

[9]  Marian Vittek,et al.  A Compiler for Nondeterministic Term Rewriting Systems , 1996, RTA.

[10]  Fergus Henderson,et al.  Determinism analysis in the Mercury compiler , 1996 .

[11]  Vincent Partington,et al.  Implementation of an Imperative Programming Language with Backtracking , 1997 .

[12]  Krzysztof R. Apt,et al.  Search and imperative programming , 1997, POPL '97.

[13]  Ataru T. Nakagawa,et al.  An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks , 1997, First IEEE International Conference on Formal Engineering Methods.

[14]  Christophe Ringeissen Prototyping Combination of Unification Algorithms with the ELAN Rule-Based Programming Language , 1997, RTA.

[15]  Hélène Kirchner,et al.  A Compiler for Rewrite Programs in Associative-Commutative Theories , 1998, PLILP/ALP.

[16]  Pierre-Etienne Moreau A Choice-Point Library for Backtrack Programming , 1998, Implementation Technology for Programming Languages based on Logic.

[17]  Claude Kirchner,et al.  Rule-Based Constraint Programming , 1998, Fundam. Informaticae.

[18]  Pierre-Etienne Moreau Compiling nondeterministic computations , 1998 .

[19]  Carlos Castro,et al.  Building Constraint Satisfaction Problem Solvers Using Rewrite Rules and Strategies , 1998, Fundam. Informaticae.

[20]  Claude Kirchner,et al.  A Functional View of Rewriting and Strategies for a Semantics of ELAN , 1998, Fuji International Symposium on Functional and Logic Programming.