Content deleted Content added
James.hague (talk | contribs) No edit summary |
James.hague (talk | contribs) No edit summary |
||
Line 1:
'''Hope''' is a small [[functional (programming)|functional]] [[programming language]], one developed in the early 1980s prior to [[Miranda programming language|Miranda]] and [[Haskell programming language|Haskell]]. It is notable for being the first language with call-by-pattern evaluation and [[algebraic data
A Hope tutorial by Roger Bailey was featured in the August [[1985]] issue of [[Byte magazine|Byte]] on [[declarative programming]].
The first implementation of Hope was strict, but since that one there have been lazy versions and strict versions with lazy constructors.▼
A factorial program in Hope is
Line 8:
--- fact n <= n*fact(n-1);
Unlike in [[Haskell programming language|Haskell]], changing the order of the clauses would not change the meaning of the program, because Hope's pattern matching always favors more specific patterns over less specific ones.
▲The first implementation of Hope was [[strict evaluation|strict]], but since that one there have been [[lazy evaluation|lazy]] versions and strict versions with lazy constructors.
==External link==
*[http://www.soi.city.ac.uk/~ross/Hope/ Hope homepage]
*[http://haskell.org/haskellwiki/History_of_Haskell History of Haskell] which mentions Hope being the first language with algebraic data types.
*[http://www.devili.iki.fi/library/issue/136.en.html table of contents of Byte, August 1985]
{{compu-lang-stub}}
|