Paradigm | Multi-paradigm: functional, imperative, modular[1] |
---|---|
Family | ML |
First appeared | 1983[2] |
Stable release | Standard ML '97[2]
/ 1997 |
Typing discipline | Inferred, static, strong |
Filename extensions | .sml |
Website | smlfamily |
Major implementations | |
SML/NJ, MLton, Poly/ML | |
Dialects | |
Alice, Concurrent ML, Dependent ML | |
Influenced by | |
ML, Hope, Pascal | |
Influenced | |
Elm, F#, F*, Haskell, OCaml, Python,[3] Rust,[4] Scala |
Standard ML (SML) is a general-purpose, high-level, modular, functional programming language with compile-time type checking and type inference. It is popular for writing compilers, for programming language research, and for developing theorem provers.
Standard ML is a modern dialect of ML, the language used in the Logic for Computable Functions (LCF) theorem-proving project. It is distinctive among widely used languages in that it has a formal specification, given as typing rules and operational semantics in The Definition of Standard ML.[5]
intro
was invoked but never defined (see the help page).smlnj
was invoked but never defined (see the help page).itertools
was invoked but never defined (see the help page).revision
was invoked but never defined (see the help page).