$ whois standard-ml
Standard ML
first released in 1983 · by Robin Milner, Mads Tofte, Robert Harper, David MacQueen
$ guessprog --inspect standard-ml
- year
- 1983
- paradigm
- functional
- family
- ml
- memory
- automatic gc
- binding
- static
- safety
- strong
STANDARD-ML(7)
- AUTHORS
- Robin Milner, Mads Tofte, Robert Harper, David MacQueen
- HISTORY
- ML was created in the early 1970s by Robin Milner and his colleagues at the University of Edinburgh as the "meta language" of LCF, an interactive theorem prover. Its type system guaranteed that only valid theorems could ever be constructed, and it popularised Hindley-Milner type inference. As dialects multiplied, Milner proposed in 1983 to unify them into Standard ML, whose formal definition was published in 1990 and revised in 1997. It is one of the very few languages completely specified with mathematical semantics.
- USAGE
- Standard ML is used mainly in universities, for teaching and programming language research, with compilers such as MLton, SML/NJ and Poly/ML. The wider ML family lives on in OCaml and F#.
- SEE ALSO
- Standard ML on Wikipedia ↗
(* Standard ML: types are inferred, data is matched by shape *)
datatype shape = Circle of real
| Rect of real * real
fun area (Circle r) = Math.pi * r * r
| area (Rect (w, h)) = w * h
fun sum [] = 0.0
| sum (x :: xs) = x + sum xs
val total = sum (map area [Circle 1.0, Rect (2.0, 3.0)])
(* val total = 9.14159265359 : real *)