ML (lenguaje de programación)

ML es el acrónimo inglés de metalenguaje dado que fue concebido como el lenguaje para desarrollar tácticas de demostración en el sistema LCF (El lenguaje para el cual ML era metalenguaje es pplambda, una combinación del cálculo de predicados de primer orden y el lambda-cálculo polimórfico sencillamente tipificado).

Frecuentemente se clasifica a ML como un lenguaje funcional impuro dado que permite programar imperativamente con efecto colateral, a diferencia de otros lenguajes de programación funcional, tales como Haskell.

Esta combinación particular de conceptos hace que sea posible producir una de los mejores compiladores actualmente disponibles[1].

En la actualidad varios lenguajes de la familia ML están disponibles, principalmente Standard ML (SML) y OCaml (Ocaml contiene la sintaxis de ML como un subconjunto).

Varias ideas aparecidas en ML han influido el diseño de otros lenguajes, tales como Cyclone y Nemerle.