language (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.
Translators from Miranda to
Haskell (mira2hs) and to
LML (mira2lml) are available at (https://foldoc.org/pub/misc/). Non-commercial near-equivalents of Miranda include
Miracula and
Orwell.
(https://miranda.org.uk/).
["Miranda: A Non Strict Functional Language with Polymorphic Types" (https://miranda.org.uk/nancy.html), D.A. Turner, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer 1985].
["An Overview of Miranda" (https://miranda.org.uk/overview.pdf), D. A. Turner, SIGPLAN Notices, 21(12):158--166, December 1986].
["Functional Programming with Miranda", Ian Holyer, Pitman Press 0-273-03453-7].
(2007-03-22)