There are a number of implementations, and it is fairly widely used as a teaching language in computer science programs. The Mustang Project uses higher-order, typed programming langauges that provide special support the construction, manipulation, and execution of code. The basic types are functions, products, and sums. Functions and products use dependent types to gain additional power. The design of Cayenne has been heavily influenced by Haskell and constructive type theory and with some things borrowed from Java.
Lazy evaluation is an evaluation strategy combining normal order evaluation with updating.
It holds parallels to the OR notion of Dynamic Programming as well as to spreadsheets where values are only computed as required. J Feature Hitlist A project to try to encourage the construction of extensions to J. Particularly directed to UNIX -oriented extensions. Mercury has the clean semantics and clarity of modern functional programming languages, and the expressiveness of logic languages. Elegant The Elegant compiler was used for many years within Philips. When development ceased, it was decided to make it available in the public domain under the GNU license.