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 distfix 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.
["A HOPE Tutorial", R. Bailey, BYTE Aug 1985, pp.235-258].