Miranda er et funktionelt programmeringssprog skabt i 1985 af David Turner som et funktionelt standardsprog. Har et strengt polymorfisk type system, understøtter brugerdatatyper. Ligesom ML-sproget undervises det på mange universiteter. Funktionelle objekter er bygget ved hjælp af currying (delvis anvendelse) af eksisterende funktioner. Har doven semantik. Programmet er et sæt definitioner.
En efterfølger til SASL- og Kent Recursive Calculator -sprogene , der bruger nogle ML- og Hope -koncepter . Han havde stor indflydelse på udviklerne af Haskell-sproget .
Sprogets navn kommer fra navnet på heltinden i stykket The Tempest af William Shakespeare , Miranda. Heri siger hun sætningen "Brave new world!", som ifølge skaberne skulle bringe "brave new world til funktionel programmering" [1] . Også heltinden er afbildet på sprogets logo.
Definere en funktion mapog derefter anvende den på en funktion, der øger argumentet med to:
kort f [] = [] kort f ( x : s ) = ( f x ) : ( kort f s ) L = [ 1 .. 6 ] kort ( ( + ) 2 ) L → [ 3 , 4 , 5 , 6 , 7 , 8 ]Kolon definerer hovedet (første element) og halen (efterfølgende elementer) af en liste i både sammensætning og mønstermatchning. Funktionen til at øge argumentet med 2 opnås ved delvist at anvende en primitiv funktion +på argumentet 2. Indgangen [1..6] er en forkortet post [1, 2, 3, 4, 5, 6].
Eksempel på listeudtryk :
[ n + 2 | n <- [ 1 .. 6 ] ] → [ 3 , 4 , 5 , 6 , 7 , 8 ]Programmeringssprog | |
---|---|
|