Vés al contingut

ML

De Viki.cat


ML és un llenguatge de programació funcional desenvolupat per Robin Milner i altres a finals del 1970 a la Universitat d'Edimburg amb una sintaxi inspirada en el llenguatge abstracte ISWIM que ha donat lloc a una família de llenguatges.

Històricament les sigles ML es refereixen a MetaLlenguatge. És conegut per l'ús que fa de l'algorisme d'inferència de tipus Hindley-Milner.

Introducció

A l'ML se l'anomena llenguatge funcional impur perquè permet efectes laterals produint programació imperativa, contràriament a llenguatges funcionals purs com el Haskell. Per aquest motiu es considera un llenguatge de programació Multi-paradigma.

Entre les característiques de ML hi ha l'estratègia d'evaluació estricta, funcions com a valors de primer ordre, gestió de memòria per recollidors de brossa, polimorfisme paramètric, tipatge estàtic, inferència de tipus, tipus abstractes de dades, encaixos de patrons i gestió d'excepcions.


Dialectes

SML
ML Estàndard, incorpora semàntica formal.
Alice ML
llenguatge[1] i compilador impulsats per la universitat de Saarland regió alemanya, fronterera amb França on s'anomena Sarre.
Caml/OCaml
llenguatge[2] i compilador impulsats per l'entitat estatal de recerca francesa INRIA, és l'acrònim de Categorical Abstract Machine Language.
F#
entorn[3] de Microsoft consistent en llenguatge basat en OCaml i biblioteques .NET ; Vegeu "Programació en F#" [4]
LML
"Lazy ML": llenguatge[5][6] ML d'avaluació tardana desenvolupat a la universitat tecnològica Chalmers de Göteborg, Suècia
ATS
ML amb "tipus dependents de valors" desenvolupat a la Universitat de Boston
Parallel ML (Projecte Manticore)
Extensió de paraŀlelisme sobre Concurrent ML desenvolupat a la Univ. de Chicago.[7]

Referències

  1. ↑ Alice ML (anglès)
  2. ↑ Llenguatge OCaml (anglès)
  3. ↑ Llenguatge F sostingut de Microsoft(anglès)
  4. ↑ Viquillibre anglès - Programació en F#(anglès)
  5. ↑ Computer Journal - The Chalmers Lazy-ML Compiler (anglès)
  6. ↑ Exemples de LML(anglès)
  7. ↑ Compilador Manticore de Parallel ML(anglès)

Vegeu també

Enllaços externs