# Miranda

> programming language

**Wikidata**: [Q780803](https://www.wikidata.org/wiki/Q780803)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Miranda_(programming_language))  
**Source**: https://4ort.xyz/entity/miranda-q780803

## Summary
Miranda is a purely functional, declarative programming language designed by David Turner in 1985. It is characterized by its strong, static typing and its status as an "off-side rule" language that is isomorphic to the lambda calculus.

## Key Facts
- **Inception:** 1985
- **Designer:** David Turner (1946–2023)
- **Programming Paradigms:** Purely functional and declarative programming
- **Typing Discipline:** Strong and static typing
- **License:** 2-clause BSD License
- **Stable Version:** 2.066 (released January 31, 2020)
- **Influenced By:** ML (1973) and Kent Recursive Calculator (1981)
- **Copyright Status:** Copyrighted
- **Official Host:** University of Kent

## FAQs
### Q: Who designed the Miranda programming language?
A: Miranda was designed by David Turner, a British computer scientist who lived from 1946 to 2023. He introduced the language in 1985.

### Q: What are the primary characteristics of Miranda?
A: Miranda is a purely functional and declarative language. It uses strong, static typing and follows the off-side rule for its syntax, making it isomorphic to the lambda calculus.

### Q: Is Miranda open-source software?
A: Yes, Miranda is distributed under the 2-clause BSD License. Its source code and stable versions are maintained by the University of Kent.

### Q: What other languages influenced the development of Miranda?
A: Miranda was primarily influenced by the functional programming language ML and the Kent Recursive Calculator.

## Why It Matters
Miranda is a foundational purely functional programming language that serves as a bridge between mathematical theory and machine instruction. Designed by David Turner in 1985, it is significant for being isomorphic to the lambda calculus, providing a declarative framework where the focus is on "what" to compute rather than "how" to compute it. Its development was influenced by earlier systems like ML and the Kent Recursive Calculator, and it shares a conceptual lineage with other functional languages like Orwell.

The language's relevance is sustained by its technical rigor, employing strong static typing and the off-side rule for syntax. This structure ensures that instructions are communicated to machines with high precision and clarity. Despite its age, Miranda remains a living project, with the University of Kent releasing stable version 2.066 as recently as 2020. By transitioning to a 2-clause BSD License, it has moved from a strictly copyrighted model to one that supports broader accessibility. Its inclusion in major international library authorities, such as the Library of Congress and the Bibliothèque nationale de France, underscores its historical and academic importance in the field of computer science.

## Notable For
- **Lambda Calculus Isomorphism:** The language is designed to be isomorphic to the lambda calculus, a mathematical system for expressing computation.
- **Off-side Rule Syntax:** Miranda is an off-side rule language, meaning its code structure and scoping are defined by indentation.
- **Strong Static Typing:** It employs a rigorous typing discipline that ensures type safety before program execution.
- **Longevity and Maintenance:** Originally released in 1985, the language received a stable update (version 2.066) in 2020, thirty-five years after its inception.

## Body

### Origins and Development
Miranda was created in 1985 by David Turner, a British computer scientist. The language's design was informed by Turner's earlier work and influenced by the functional language ML (introduced in 1973) and the Kent Recursive Calculator (introduced in 1981). It is also associated with the language Orwell, which appeared in 1984.

### Technical Architecture
As a declarative programming language, Miranda focuses on expressing the logic of a computation without describing its control flow. It is a purely functional language, meaning it treats all computation as the evaluation of mathematical functions. Key technical features include:
- **Typing:** The language uses strong, static typing to manage data structures.
- **Syntax:** It utilizes the off-side rule, where the positioning of code blocks determines their hierarchy.
- **Mathematical Basis:** Its structure is isomorphic to the lambda calculus.

### Distribution and Licensing
Miranda is currently distributed under the 2-clause BSD License. While it remains copyrighted, the University of Kent provides the official download page and source code repository. The most recent stable version, 2.066, was published on January 31, 2020.

### Academic and International Recognition
The language is recognized by several major international bibliographic and academic entities. It is indexed in the Library of Congress (sh94005695), the Bibliothèque nationale de France (13328566r), and the National Library of Israel. It is also documented in the Freebase database under the identifier /m/0n3xv.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Miranda",
  "description": "A purely functional, declarative programming language designed by David Turner in 1985.",
  "url": "https://www.cs.kent.ac.uk/people/staff/dat/miranda/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Miranda_(programming_language)"
  ],
  "additionalType": "programming language"
}

## References

1. [miranda: COPYING](https://www.cs.kent.ac.uk/people/staff/dat/miranda/downloads/COPYING)
2. [Miranda download page](https://www.cs.kent.ac.uk/people/staff/dat/miranda/downloads/)
3. Freebase Data Dumps. 2013
4. National Library of Israel Names and Subjects Authority File