SML
- Standard ML (SML) is a functional programming language. ML was devised at Edinburgh University and gave rise to a number of descendant languages. Purists would call SML an applicative language because it has strict evaluation, not lazy evaluation, and has assignable variables. SML-97 was standardised c1997.
- [Programming Examples].
-
- To run SML in interactive mode:
- ne> sml
- Standard ML of New Jersey, Version 110.0.7, September 28, 2000 [CM; autoload enabled]
- - 1+2;
- val it = 3 : int
- - <CTRL>d
- Standard ML of New Jersey, Version 110.0.7, September 28, 2000 [CM; autoload enabled]
- or run a program in a file,
- ne> sml < y.sml
- Standard ML ...
- - = val it = 6 : int
- Standard ML ...
- or run a program in a file in interactive mode
- ne> sml
- Standard ML ...
- - use "y.sml";
- [opening y.sml]
- val it = 6 : int
- val it = () : unit
- Standard ML ...
- NB. Quote the file name after use; the name is a string.
-
c1990:
- Y, fixed point operator -- note that SML is strict.
- common functions -- a few simple examples.
- direct semantics -- of imperative features, updated 2005 for ML97 and, with a parser, [semantics.toy] (also see denotational semantics).
- streams -- by continuations; also see Comp.Jrnl.1990.
- Also see [programming languages].