Miranda — an early pure functional programming language
Miranda is a non-strict, purely functional language from the 1980s that influenced later languages (notably Haskell). It provided lazy evaluation, algebraic datatypes, polymorphic typing and concise notation.
Overview
Miranda is a purely functional programming language developed in the 1980s. It adopted non-strict (lazy) evaluation and a high level of abstraction for writing programs as mathematical functions. During its active period it was used for research, language design experiments and teaching functional concepts.
Image gallery
1 ImageKey characteristics
Miranda combined several features that are now familiar in functional programming:
- Non-strict, lazy evaluation allowing infinite data structures and delayed computation.
- A static, polymorphic type system in the Hindley–Milner tradition.
- Algebraic data types and pattern matching for concise data decomposition.
- Higher-order functions, currying and a compact syntax including list comprehensions.
History and development
Created in the 1980s, Miranda was implemented and distributed commercially, which distinguished it from many academic prototypes. Its design reflected practical concerns about usability and notation, and it served as a bridge between earlier academic functional languages and later standardised efforts.
Uses and influence
While Miranda itself is no longer widely used in industry, it had a lasting influence. Several contemporary functional languages took inspiration from Miranda's syntax and ideas; most notably, the design discussions that produced Haskell drew on lessons from Miranda. Educators and researchers used it to illustrate lazy programming techniques, type inference and functional program structure.
Legacy and where to look next
Miranda is mainly of historical and educational interest today. For those researching its documentation or implementations, see primary resources and retrospectives: primary Miranda material and further reading on Miranda and its influence. Its concepts continue to appear in modern functional languages and in functional programming pedagogy.
Related articles
Author
AlegsaOnline.com Miranda — an early pure functional programming language Leandro Alegsa
URL: https://en.alegsaonline.com/art/65360