Hope is a small functional programming language, with polymorphic typing, algebraic types, pattern matching and higher-order functions. The version here is a fully lazy interpreter.
For general information on functional programming, see the Frequently Asked Questions list maintained by Graham Hutton.