Hope (programming language)

Hope
Paradigmfunctional
Designed byRod Burstall
D. B. MacQueen
D. T. Sannella
DeveloperUniversity of Edinburgh
First appeared1980; 45 years ago (1980)
Dialects
Hope+
Influenced by
NPL

Hope is a programming language based on functional programming developed in the 1970s at the University of Edinburgh.[1][2] It predates Miranda and Haskell and is contemporaneous with ML, also developed at the University. Hope was derived from NPL,[3] a simple functional language developed by Rod Burstall and John Darlington in their work on program transformation.[4] NPL and Hope are notable for being the first languages with call-by-pattern evaluation and algebraic data types.[5]

Hope was named for Sir Thomas Hope (c. 1681–1771), a Scottish agriculture reformer, after whom Hope Park Square in Edinburgh, the location of the artificial intelligence department at the time of the development of Hope, was also named.

The first implementation of Hope used strict evaluation, but there have since been lazy evaluation versions and strict versions with lazy constructors. A successor language Hope+, developed jointly between Imperial College and International Computers Limited, added annotations to dictate either strict or lazy evaluation.[6]

  1. ^ Burstall, R. M.; MacQueen, D. B.; Sannella, D. T. (1980). Hope: An Experimental Applicative Language (PDF). Stanford University, Stanford, California, United States. p. 136–143.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ Bailey, Roger (1 April 1990). Functional Programming with Hope. Ellis Horwood Series in Computers and Their Applications. Ellis Horwood Ltd.
  3. ^ Cite error: The named reference design was invoked but never defined (see the help page).
  4. ^ Burstall, R. M.; Darlington, J. (1977). "A transformation system for developing recursive programs". Journal of the Association for Computing Machinery. 24 (1): 44–67.
  5. ^ Hudak, Paul; Hughes, John; Peyton Jones, Simon; Wadler, Philip (2007-06-09). A history of Haskell: being lazy with class. ACM. pp. 12–1. doi:10.1145/1238844.1238856. ISBN 9781595937667. S2CID 52847907.
  6. ^ Kewley, John; Glynn, Kevin (1989). "Evaluation Annotations for Hope+". In Davis, Kei; Hughes, R. J. M. (eds.). Functional Programming: Proceedings of the 1989 Glasgow Workshop, Workshops in Computing. London, United Kingdom: Springer-Verlag (published 1990). pp. 329–337.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne