Meta Language

język programowania

Meta Language, ML – rodzina funkcyjnych języków programowania, które charakteryzują się statycznym, silnym typowaniem. Jako jeden z pierwszych języków udostępniał typy polimorficzne.

Został zaprojektowany m.in. przez Robina Milnera w roku 1973 i był częścią większego projektu LCF (Logic for Computable Functions). Zadaniem LCF było automatyczne dowodzenie poprawności funkcyjnych programów, języka ML używano właśnie do zapisu tych programów. Stąd też obecnie ML jest stosowany m.in. do automatycznego dowodzenia twierdzeń i poprawności programów, a także szybkiego prototypowania.

Rozwinęło się wiele dialektów języka, m.in. Ocaml (włączający do języka elementy programowania obiektowego), Concurrent ML (wspierający programowanie współbieżne) czy Lazy ML (który w odróżnieniu od innych dialektów stosuje leniwą ewaluację).

W roku 1984 z inicjatywy Robina Milnera ustandaryzowano język ML tworząc dialekt Standard ML. Istnieje kilkanaście implementacji tego dialektu, m.in. Moscow ML, Stanford ML i SML97. W roku 2000 standard został poprawiony, czego efektem było powstanie ML-2000.