Miranda (programmeringsspråk)

Miranda  är ett funktionellt programmeringsspråk skapat 1985 av David Turner som ett funktionellt standardspråk. Har ett strikt polymorft typsystem, stöder användardatatyper. Liksom ML-språket lärs det ut vid många universitet. Funktionella objekt byggs med hjälp av currying (deltillämpning) av befintliga funktioner. Har lat semantik. Programmet är en uppsättning definitioner.

En efterföljare till SASL och Kent Recursive Calculator- språken , med några ML- och Hope -koncept . Han hade ett stort inflytande på utvecklarna av Haskell-språket .

Namnet på språket kommer från namnet på hjältinnan i pjäsen The Tempest av William Shakespeare , Miranda. I den säger hon frasen "Brave new world!", som enligt skaparna ska föra "brave new world till funktionell programmering" [1] . Dessutom är hjältinnan avbildad på språkets logotyp.

Exempelkod

Att definiera en funktion mapoch sedan tillämpa den på en funktion som ökar argumentet med två:

map f [] = [] map f ( x : s ) = ( f x ) : ( map f s ) L = [ 1 .. 6 ] map ( ( + ) 2 ) L [ 3 , 4 , 5 , 6 ] , 7 , 8 ]

Kolon definierar huvudet (första elementet) och svansen (efterföljande element) av en lista i både sammansättning och mönstermatchning. Funktionen för att öka argumentet med 2 erhålls genom att delvis tillämpa en primitiv funktion +på argumentet 2. Posten [1..6] är en förkortad post [1, 2, 3, 4, 5, 6].

Exempel på listauttryck :

[ n + 2 | n <- [ 1 .. 6 ] ] [ 3 , 4 , 5 , 6 , 7 , 8 ]

Litteratur

  • Fält A., Harrison P. Funktionell programmering. — M .: Mir, 1993. — 637 sid. — ISBN 5-03-001870-0 .

Anteckningar

  1. Om namnet Miranda Arkiverad 4 april 2016 på Wayback Machine .

Länkar