ML (programlingvo)

ML () 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.MILNER, Robin. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17(3):348–375, 1978. 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 
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ŭ 
 Standard ML kaj ĝiaj realigoj:
 SML/NJ, realigo kun etendoj por kunrula programado ellaborita ĉe Universitato Princeton kaj Bell Laboratories
 Moscow ML, realigo origine bazita sur Caml Light
 Alice ML, etendo de Standard ML kun subteno de paralela programado per uzo de estontaĵoj
 MLton, potenca plenprograme optimiga tradukilo strikte konforma al la Difino
 Dependent ML, etendo de ML kun dependaj tipoj, kiu kondukis al la ellaborado de ATS
 Lazy ML, eksperimenta pigre taksa ML-dialekto el la komencaj 1980j, kiu paved the way por tradukado de voko-laŭ-bezono-lingvoj, kiel ekzemple Haskelo kaj Clean
 PAL, eduka lingvo rilata al ML

 Referencoj 

 Plua legado 
 The Definition of Standard ML, Robin Milner, Mads Tofte, Robert Harper, MIT Press 1990; (reviziita eldono aldonas verkinton David MacQueen), MIT Press 1997, .
 Commentary on Standard ML, Robin Milner, Mads Tofte, MIT Press 1997, .
 ML for the Working Programmer, Lawrence Paulson, Cambridge University Press 1991, 1996, .

 Elements of ML Programming, Jeffrey D. Ullman, Prentice-Hall 1994, 1998, .

 Eksteraj ligiloj 
 Standard ML of New Jersey, alia populara realigo
 F#, realigo de ML por la framo Microsoft .NET
 MLton, plenprograme optimiga tradukilo de Standard ML
 Successor ML – aŭ sML
 CakeML, lego-rulo-preso-bukla versio de ML kun formale kontrolita rultempa sistemo kaj traduko al asembla

Kategorio:Akademiaj programlingvoj
Kategorio:Funkciaj programlingvoj
Kategorio:Proceduraj programlingvoj
Kategorio:Programlingva familio ML
Kategorio:Modelkongruigaj programlingvoj
Kategorio:Statiktipaj programlingvoj
Kategorio:Programlingvoj kreitaj en 1973