Miranda este un limbaj de programare funcțional creat în 1985 de David Turner ca limbaj funcțional standard. Are un sistem strict de tip polimorf, acceptă tipuri de date utilizator. La fel ca limbajul ML , este predat la multe universități. Obiectele funcționale sunt construite folosind curry (aplicarea parțială) a funcțiilor existente. Are semantică leneșă. Programul este un set de definiții.
Un succesor al limbajelor SASL și Kent Recursive Calculator , folosind unele concepte ML și Hope . El a avut o mare influență asupra dezvoltatorilor limbajului Haskell .
Numele limbii provine de la numele eroinei piesei The Tempest de William Shakespeare , Miranda. În ea, ea spune sintagma „Brave new world!”, care, potrivit creatorilor, ar trebui să aducă „brave new world la programarea funcțională” [1] . De asemenea, eroina este reprezentată pe sigla limbii.
Definirea unei funcții mapși apoi aplicarea acesteia la o funcție care crește argumentul cu doi:
harta f [] = [] harta f ( x : s ) = ( f x ) : ( harta f s ) L = [ 1 .. 6 ] harta (( + ) 2 ) L → [ 3 , 4 , 5 , 6 , 7 , 8 ]Colonul definește capul (primul element) și coada (elementele ulterioare) unei liste atât în compoziție, cât și în potrivirea modelului. Funcția de incrementare a argumentului cu 2 este obținută prin aplicarea parțială a unei funcții primitive +argumentului 2. Intrarea [1..6] este o intrare scurtată [1, 2, 3, 4, 5, 6].
Exemplu de expresie de listă :
[ n + 2 | n <- [ 1 .. 6 ] ] → [ 3 , 4 , 5 , 6 , 7 , 8 ]Limbaje de programare | |
---|---|
|