ML (limbaj de programare)
limbaj de programare From Wikipedia, the free encyclopedia
Remove ads
ML (Meta Language) este un limbaj de programare funcțional, de nivel înalt, de uz general. Este cunoscut pentru utilizarea sistemului de tipuri polimorfice Hindley-Milner, care atribuie automat tipurile de date ale majorității expresiilor fără a necesita adnotări explicite de tip (inferență de tip) și asigură siguranța tipurilor; există o dovadă formală că un program ML bine tipizat nu provoacă erori de tip la momentul execuției. ML oferă potrivire de modele pentru argumentele funcțiilor, colectarea gunoiului, programarea imperativă, apel-du-valoare și currying. Deși este un limbaj de programare de uz general, ML este utilizat intens în cercetarea limbajelor de programare și este unul dintre puținele limbaje complet specificate și verificate folosind semantica formală . Tipurile și potrivirea de modele îl fac potrivit și utilizat în mod obișnuit pentru a opera pe alte limbaje formale, cum ar fi în scrierea compilatoarelor, demonstrarea automată a teoremelor și verificarea formală.
Pentru alte sensuri, vedeți ML.
Remove ads
Prezentare generală
Caracteristicile ML includ o strategie de evaluare de tip apel-după-valoare, funcții de primă clasă, gestionarea automată a memoriei prin colectarea gunoiului, polimorfism parametric, tastare statică, inferență de tip, tipuri de date algebrice, potrivire de modele și gestionarea excepțiilor. ML utilizează reguli statice de scoping.[1]
ML poate fi considerat un limbaj funcțional impur, deoarece, deși încurajează programarea funcțională, permite efecte secundare [2] (la fel ca limbaje precum Lisp, dar spre deosebire de un limbaj pur funcțional, cum ar fi Haskell). Ca majoritatea limbajelor de programare, ML folosește evaluarea rapidă, ceea ce înseamnă că toate subexpresiile sunt întotdeauna evaluate, deși evaluarea leneșă poate fi realizată prin utilizarea închiderilor . Astfel, se pot crea și utiliza fluxuri infinite ca în Haskell, dar exprimarea lor este indirectă.
Punctele forte ale ML sunt aplicate în principal în proiectarea și manipularea limbajelor (compilatoare, analizoare, demonstratoare de teoreme), dar este un limbaj de uz general utilizat și în bioinformatică și sisteme financiare.
ML a fost dezvoltat de Robin Milner și alții la începutul anilor 1970 la Universitatea din Edinburgh,[3] iar sintaxa sa este inspirată de ISWIM . Din punct de vedere istoric, ML a fost conceput pentru a dezvolta tactici de demonstrare în demonstratorul de teoreme LCF (al cărui limbaj, pplambda, o combinație între calculul predicatelor de ordinul întâi și calculul lambda polimorfic simplu tipizat, avea ML ca metalimbaj).
Astăzi există mai multe limbaje în familia ML; trei cele mai importante sunt Standard ML (SML), OCaml și F#. Ideile din ML au influențat numeroase alte limbaje, precum Haskell, Cyclone, Nemerle,[4] ATS și Elm.[5]
Remove ads
Referințe
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads