TOY is a constraint functional logic system, designed to support the main declarative programming styles and their combination. It has been designed and developed mainly by the Declarative Programming Group at the Universidad Complutense de Madrid and in collaboration and inputs from the Universidad de Málaga, following previous experiences with the design of declarative languages.
TOY 2.3.2 is the current version, which enjoys lazy computations in Haskell style, non-deterministic functions (allowing also to write Prolog-like programs by means of syntactic sugaring), higher-order patterns, a polymorphic type system, constraints with symbolic equations and disequations, linear and non-linear arithmetic constraints over real numbers, and finite domain constraints. The system also offers declarative debugging facilities, a module system, monadic I/O, and a graphical programming environment. The main feature the current version adds is that of constraint domain cooperation. In addition, the current release fixes some bugs, the most noticeable is that the Linux distribution now runs flawlessly.
TOY can be used from a SICStus Prolog environment (version 3.8.4 or 3.x later running on most common operating systems), or with the provided binaries (for Windows and Linux).
Please send comments, questions, etc. to: