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.

There are translators from Miranda to Haskell mira2hs and to LML mira2lml. 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].

["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].

Last updated: 2007-03-22

Nearby terms:

programming language and {interpreter} designed by {Davidypes are algebraic,

Try this search on Wikipedia, OneLook, Google