ML

De Viquipèdia
Dreceres ràpides: navegació, cerca

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ó[modifica | modifica el codi]

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[modifica | modifica el codi]

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 paral·lelisme sobre Concurrent ML desenvolupat a la Univ. de Chicago.[7]

Referències[modifica | modifica el codi]

  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é[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]