< 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 at the University of Kent in the early 1980s. It is sold by his company, Research Software Limited. It combines the main features of KRC and SASL with strong typing similar to that of ML . Implemented for Unix by Allan Grimeley, Computer Lab., UKC. There is also a version that runs on Intel 80386 and above IBM PCs under Linux .
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. Nested pattern-matching , list comprehensions , modules . Operator sections rather than lambda abstractions . User types are algebraic, and in early versions could be constrained by laws . Implemented by SKI combinator reduction. The KAOS operating system is written entirely in Miranda.
E-mail: mira-request@ukc.ac.uk .
Translators from Miranda to Haskell (mira2hs) and to LML (mira2lml) are available, ftp://www.foldoc.org/pub/ . Non-commercial near-equivalents of Miranda include Miracula and Orwell .
["Miranda: A Non Strict Functional Language with Polymorphic Types", D.A. Turner, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer 1985].
["Functional Programming with Miranda", Ian Holyer, Pitman Press 0-273-03453-7].
(1997-08-01)