ML (limbaj de programare)
ML limbaj de programare | |
---|---|
Autor | Robin Milner |
Data de origine | 1973 |
Paradigme | programare procedurală , programare funcțională și programare imperativă |
Influențată de | EU ÎNOT |
ML este un limbaj de programare funcțional cu scop general dezvoltat de echipa lui Robin Milner de la Universitatea din Edinburgh la sfârșitul anilor 1970, cu o sintaxă inspirată de ISWIM . Punct de vedere istoric, ML standuri pentru M eta L anguage ( meta ) ca el a fost născut la verificarea formală prin teoreme LCF (limba ML care a reprezentat nivelul meta a fost pplambda , o combinație de calcul predicat de ordinul întâi și calculul lambda polimorf slab dactilografiate ). Printre limbajele de programare funcționale este unul dintre cele mai cunoscute pentru utilizarea algoritmului de inferență de tip Hindley-Milner, care poate introduce aproape toate tipurile fără a fi nevoie de declarații.
Descriere
ML este definit ca un limbaj funcțional impur, deoarece spre deosebire de alte limbaje funcționale, cum ar fi de ex. Haskell , permite programarea imperativă și, prin urmare, și efectele secundare.
Principalele caracteristici ale ML sunt după cum urmează: evaluarea expresiei cu apel de valoare , gestionarea automată a memoriei printr-un mecanism de colectare a gunoiului , polimorfism parametric, tastarea statică, inferența de tip, tipurile de date algebrice, potrivirea modelelor și tratarea excepțiilor. Combinația dintre toate aceste caracteristici a dus la unul dintre cele mai bune compilatoare disponibile [1] .
Spre deosebire de Haskell, ML folosește un mecanism de evaluare rapidă (imediată): toate subexpresiile care formează o expresie sunt întotdeauna evaluate (cu excepția expresiilor condiționale). În consecință, listele infinite nu pot fi create. Cu toate acestea, evaluarea leneșă ( evaluarea leneșă) poate fi simulată și astfel se creează liste nesfârșite, prin utilizarea funcțiilor anonime.
Mai multe limbi s-au născut începând din ML; printre acestea, cele mai populare sunt SML ( Standard ML , 1990 ) și Ocaml (Objective Caml). ML a influențat, de asemenea, multe alte limbi, în special cele dezvoltate în mediul academic (de exemplu, F # , Cyclone și Nemerle ).
ML este potrivit în special pentru aplicații teoretice, cum ar fi proiectarea și dezvoltarea limbajelor ( compilatoare , analizoare, verificatoare de teoreme), dar și-a găsit aplicarea și în domeniul bioinformaticii , analizei financiare etc.
linkuri externe
- ( EN ) ML , în Encyclopedia Britannica , Encyclopædia Britannica, Inc.
- (RO) Compararea eficienței compilatoarelor în diferite limbi , pe shootout.alioth.debian.org. Accesat la 2 septembrie 2005 (arhivat din original la 27 iunie 2009) .
- ( RO ) Introducere în ML , pe dcs.napier.ac.uk . Adus la 2 septembrie 2005 (arhivat din original la 1 septembrie 2005) .
- ( EN ) Moscow ML, o implementare a Standard ML , pe dina.kvl.dk. Accesat la 2 septembrie 2005 (arhivat din original la 25 februarie 2012) .
Controlul autorității | LCCN ( EN ) sh87004533 |
---|