Paradigm | lazy, functional, declarative |
---|---|
Designed by | David Turner |
Developer | Research Software Ltd |
First appeared | 1985 |
Typing discipline | strong, static |
Website | miranda |
Major implementations | |
Miranda | |
Influenced by | |
KRC, ML, SASL, Hope | |
Influenced | |
Clean, Haskell |
Miranda is a lazy, purely functional programming language designed by David Turner as a successor to his earlier programming languages SASL and KRC, using some concepts from ML and Hope. It was produced by Research Software Ltd. of England (which holds a trademark on the name Miranda) and was the first purely functional language to be commercially supported.
Miranda was first released in 1985, as a fast interpreter in C for Unix-flavour operating systems, with subsequent releases in 1987 and 1989. Miranda had a strong influence on the later Haskell programming language.
Miranda is a lazy, purely functional programming language. That is, it lacks side effects and imperative programming features. A Miranda program (called a script) is a set of equations that define various mathematical functions and algebraic data types. The word set is important here: the order of the equations is, in general, irrelevant, and there is no need to define an entity prior to its use.
Since the parsing algorithm makes intelligent use of layout (indentation), there is rarely a need for bracketing statements and no statement terminators are required. This feature, inspired by ISWIM is also used in occam and Haskell and was later popularized by Python.