Miranda programming language
E807602
Miranda is a purely functional, non-strict programming language from the 1980s that strongly influenced later languages like Haskell through its elegant type system and list-processing features.
Observed surface forms (1)
| Surface form | Occurrences |
|---|---|
| Miranda | 0 |
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
functional programming language
ⓘ
non-strict programming language ⓘ programming language ⓘ |
| controlStructure | recursion instead of loops ⓘ |
| countryOfOrigin | United Kingdom ⓘ |
| dataRepresentation | algebraic data types with constructors ⓘ |
| decadeOfOrigin | 1980s ⓘ |
| designedBy | David Turner NERFINISHED ⓘ |
| developer | David Turner NERFINISHED ⓘ |
| distributionModel | commercial ⓘ |
| evaluationStrategy | non-strict (lazy) evaluation ⓘ |
| firstAppeared | 1985 ⓘ |
| hasKeyword |
if
ⓘ
otherwise ⓘ where ⓘ with ⓘ |
| historicalSignificance |
major influence on the design of Haskell
ⓘ
one of the first widely known lazy functional languages ⓘ |
| influenced |
Clean
NERFINISHED
ⓘ
Haskell NERFINISHED ⓘ Hope+ (later functional languages) NERFINISHED ⓘ general design of lazy functional languages ⓘ |
| influencedBy |
Hope (programming language)
NERFINISHED
ⓘ
ML (programming language) NERFINISHED ⓘ |
| influenceOnHaskell |
list comprehension notation
ⓘ
syntax ⓘ type system design ⓘ use of algebraic data types and pattern matching ⓘ use of lazy evaluation by default ⓘ |
| license | proprietary software license ⓘ |
| notableFeature |
clean mathematical semantics
ⓘ
concise syntax for functional definitions ⓘ elegant list-processing capabilities ⓘ lazy lists as a core abstraction ⓘ simple but expressive type system ⓘ |
| notableUse | teaching functional programming concepts ⓘ |
| paradigm | functional programming ⓘ |
| sideEffectsPolicy | discourages side effects ⓘ |
| supports |
algebraic data types
ⓘ
guards in function definitions ⓘ higher-order functions ⓘ infinite lists ⓘ lazy evaluation of data structures ⓘ list comprehensions ⓘ modules ⓘ pattern matching ⓘ type inference ⓘ |
| targetPlatform | Unix-like systems ⓘ |
| typeDiscipline | static typing ⓘ |
| typeSystem | polymorphic type system ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.