(From the Latin for "admirable", also the heroine of Shakespeare's "Tempest") A lazy purely functional programming language and interpreter designed by David Turner of the University of Kent in the early 1980s and implemented as a product of his company, Research Software Limited. Miranda combines the main features of KRC and SASL with strong typing similar to that of ML.
It features terse syntax using the offside rule for indentation. The type of an expression is inferred from the source by the compiler but explicit type declarations are also allowed. It has nested pattern-matching, list comprehensions and modules. It uses operator sections rather than lambda abstractions. User types are algebraic, and in early versions could be constrained by laws.
It is implemented using SKI combinator reduction. Originally implemented for Unix, there are versions for most UNIX-like platforms including Intel PC under Linux. The KAOS operating system is written entirely in Miranda.
["Miranda: A Non Strict Functional Language with Polymorphic Types", D.A. Turner, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer 1985].
["An Overview of Miranda", D. A. Turner, SIGPLAN Notices, 21(12):158--166, December 1986].
["Functional Programming with Miranda", Ian Holyer, Pitman Press 0-273-03453-7].