Programming with TOY(FD)

0Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In [1] we presented the language TOY (FD) that integrates the best features of existing functional and logic languages, as well as finite domain (FD) constraint solving. We believe that TOY (FD) is more flexible and expressive than the existing approaches of constraint logic programming on finite domain (CLP(FD)) as it integrates FD constraint solving, lazy evaluation, higher order applications of functions and constraints, polymorphism, type checking, composition of functions (and, in particular, constraints), combination of relational and functional notation, and a number of other characteristics. These features allow to write more concise programs, therefore increasing the expressivity level. Prom an implementation point of view, TOY (FD) integrates the higher-order lazy functional logic language TOY and the efficient FD constraint solver of SICStus Prolog. From a programming point of view, TOY (FD) is the first constraint functional logic programming system that provides a wide set of FD constraints comparable to existing CLP(FD) systems and which is competitive with them. TOY(FD) supports relational constraints including equality, disequality, arithmetical operators on constraints, a wide set of well-known global constraints (e.g., all_different/1), membership constraints (e.g., domain/3), propositional constraints, and enumeration constraints (e.g., labeling/2, with a number of strategies) with optimization. TOY (FD) also provides a glass box approach via a set of predefined functions called reflection constraints that allow, at runtime, to recover internal information about the constraint solving process. These functions increase the flexibility of the language as they allow the user to construct specific constraint mechanisms such as new search strategies. Generally speaking, TOY(FD) is, from its nature, different to all existing CLP(FD) languages as its operational mechanism is the result of combining the operational methods of logic languages (i.e., unification and resolution) and functional languages (i.e., rewriting). Thus, TOY(FD) is an alternative to CLP (FD) languages and allows a flexible modelling and quick prototyping at a very high level that cannot be reached by most of the existing constraint systems. TOY(FD] is freely available in http://toy.sourceforge.net/. © Springer-Verlag Berlin Heidelberg 2005.

Cite

CITATION STYLE

APA

Fernández, A. J., Hortalá-González, T., & Sáenz-Pérez, F. (2005). Programming with TOY(FD). In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3709 LNCS, p. 878). Springer Verlag. https://doi.org/10.1007/11564751_116

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free