Aviva Directory » Computers & Internet » Programming » Miranda

Designed by David Turner in 1983-1985, Miranda is a pure, non-strict, polymorphic, higher-order functional programming language.

To a large extent, Miranda was a successor to Turner's earlier programming language, SASL, and KRC, although it was also influenced by ML and Hope. First appearing in 1985, with subsequent releases in 1987 and 1989, Miranda was produced by Research Software of England, which holds a trademark on the name. It was one of the first purely functional languages to be commercially supported.

Upon its release, Miranda served as a fast interpreter in C for Unix-like operating systems. It strongly influenced the development of Haskell, and also influenced Clean, Orwell, and Microsoft Power Fx. Although Haskell was heralded as a replacement for Miranda, Turner held that, as compared to Haskell, Miranda was a smaller language with a simpler type system and simpler arithmetic.

While Miranda was considered by many to be a dead language, with the rising popularity of Haskell, a new version of Miranda was released as open-source under a BSD license in 2020. The new version updates the code to conform to modern C standards, and to generate 64-bit binaries. The 2020 version has been tested on Debian, Ubuntu, and macOS.

As a lazy, purely functional programming language, Miranda lacks side effects and imperative programming features. A Miranda program, called a script, is a set of equations that define various mathematical functions and algebraic data types. Miranda's basic data types are char, num, and bool. A character string is simply a list of char, while num is silently converted between two underlying forms: arbitrary-precision integers (bignums) by default, and regular floating-point values as required. Tuples are sequences of elements of potentially mixed types, analogous to records in Pascal-like languages, and are written delimited with parenthesis.

The aim of the Miranda system is to provide a modern functional programming language, embedded in a convenient programming environment, suitable both for teaching and as a general-purpose programming tool.

The new open-source version of Miranda is available on GitHub.

This portion of our guide to programming languages features the Miranda programming language. Topics related to any version of the language are appropriate for this category, including repositories, source codes, libraries, compilers, IDEs, editors, or any tools or utilities designed to facilitate Miranda programming. Miranda user groups or communities, forums, guides, or tutorials may also be listed here.



Recommended Resources

Search for Miranda on Google or Bing