Hope

A functional programming language designed by R.M. Burstall, D.B. MacQueen and D.T. Sanella at University of Edinburgh in 1978. It is a large language supporting user-defined prefix, infix or disfix operators. Hope has polymorphic typing and allows overloading of operators which requires explicit type declarations. Hope has lazy lists and was the first language to use call-by-pattern.

It has been ported to Unix, Macintosh and IBM PC.

See also Hope+, Hope+C.

FTP

[R.M.Burstall, D.B.MacQueen, D.T.Sanella, "HOPE: An experimental applicative language", Proc. 1980 Lisp conf., Stanford, CA, p.136-143 (Aug 1980)]

["A HOPE Tutorial", R. Bailey, BYTE Aug 1985, pp.235-258].

["Functional Programming with Hope", R. Bailey, Ellis Horwood 1990].

(27 Nov 1992)


Hope+

An extension of Hope implemented in the Alvey Flagship project at Imperial College. Hope+ has vectors, real numbers, best fit pattern matching, lazy data constructors, absolute set abstractions and constraints. It has a continuation-based I/O system which posesses referential transparency and is capable of handling all common I/O tasks such as terminal and file I/O, signal handling and interprocess communications. It has modules and separate compilation.

["Hope+", N. Perry, Imperial College, IC/FPR/LANG/2.5.1/7, 1988.]