ML (programming language)
General purpose functional programming language / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about ML (programming language)?
Summarize this article for a 10 year old
ML (Meta Language) is a general-purpose, high-level, functional programming language. It is known for its use of the polymorphic Hindley–Milner type system, which automatically assigns the data types of most expressions without requiring explicit type annotations (type inference), and ensures type safety; there is a formal proof that a well-typed ML program does not cause runtime type errors.[1] ML provides pattern matching for function arguments, garbage collection, imperative programming, call-by-value and currying. While a general-purpose programming language, ML is used heavily in programming language research and is one of the few languages to be completely specified and verified using formal semantics. Its types and pattern matching make it well-suited and commonly used to operate on other formal languages, such as in compiler writing, automated theorem proving, and formal verification.
This article needs additional citations for verification. (May 2015) |
Paradigm | Multi-paradigm: functional, generic, imperative |
---|---|
Designed by | Robin Milner, others at the University of Edinburgh |
First appeared | 1973; 51 years ago (1973) |
Typing discipline | Inferred, static, strong |
Dialects | |
OCaml, Standard ML, F# | |
Influenced by | |
ISWIM | |
Influenced | |
Clojure, Coq, Cyclone, C++, Elm, F#, F*, Haskell, Idris, Kotlin, Miranda, Nemerle, OCaml, Opa, Erlang, Rust, Scala, Standard ML |