<
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
http://foldoc.org/pub/misc/.
Non-commercial near-equivalents of
Miranda include
Miracula
and
Orwell.
http://miranda.org.uk/.
[
{"Miranda: A Non Strict Functional Language with Polymorphic
Types" (http://miranda.org.uk/nancy.html)}, D.A. Turner, in
Functional Programming Languages and Computer Architecture,
LNCS 201, Springer 1985].
[
{"An Overview of Miranda"
(http://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)