Hope is a small
functional programming language developed in the 1970s at
Edinburgh University. It predates
Miranda and
Haskell and is contemporaneous with
ML (also developed at Edinburgh). Hope was derived from NPL, a simple functional language developed by Burstall and Darlington in their work on program transformation. NPL was, in turn, derived from Kleene Recursion Equations. NPL and Hope are notable for being the first languages with call-by-pattern evaluation and algebraic data types.
SNOBOL is even older, and its 'patterns' may qualify as a hybrid between call-by-pattern and regular expression matching. Hope is an important language in the development of functional programming.