ML (programlingvo)

El Vikipedio, la libera enciklopedio
ML
programlingvo • proceda programlingvo • funkcia programlingvo
Paradigmo: plurparadigma: funkcia, ordonema
Paradigmo(j): proceda programado • funkcia programado • ordonema programado
Aperis en: 1973
Aŭtoro(j): Robin Milner k.a. ĉe la Universitato de Edinburgo
Programlingva(j) dialekto(j): Standard ML, Caml, OCaml, F#
Kreita sub la influo de: ISWIM
Havas influon sur: Clojure, Coq, Cyclone, C++, Elm, F*, Haskell, Idris, Miranda, Nemerle, Opa, Erlang, Rust, Scala
vdr

ML (angle Meta Language) estas ĝeneralcela funkcia programlingvoj. Ĝi radikas el Lisp, kaj taksitas kiel “Lisp kun tipoj”. Ĝi famas pro sia uzo de plurforma tipsistemo Hindley–Milner, kiu aŭtomate asignas la tipojn de la plejmulto de esprimoj sen postuli eksplicitajn tipnotojn, kaj certigas tipsekurecon – estas formala pruvo, ke bontipa ML-programo ne kaŭzas dumrulajn tiperarojn.[1] ML provizas modelkongruigon por funkciargumentoj, rubokolektado, obeema programado, voko-laŭ-valoro kaj curry-igo. Ĝi forte uzatas ĉe programlingva esplorado kaj estas unu el la malmultaj lingvoj tute specifigitaj kaj kontrolitaj per uzo de formala semantiko. Ĝiaj tipoj kaj modelkongruadoj igas ĝin bonsitua kaj ofte uzata por operacii sur aliaj formalaj lingvoj, kiel ĉe skribado de tradukiloj, aŭtomata teorempruvado kaj formalkontrolo.

Superrigardo[redakti | redakti fonton]

Nuntempe estas kelkaj lingvoj en la familio ML; la tri plej elstaraj estas Standard ML (SML), OCaml kaj F#. Ideoj el ML influis grandan nombron de aliaj lingvoj, kiel Haskell, Cyclone, Nemerle, ATS kaj Elm.

Vidu ankaŭ[redakti | redakti fonton]

Referencoj[redakti | redakti fonton]

  1. MILNER, Robin. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17(3):348–375, 1978.

Plua legado[redakti | redakti fonton]

Eksteraj ligiloj[redakti | redakti fonton]