Standard ML
Overview
 
Standard ML is a general-purpose, modular, functional programming language with compile-time type checking and type inference
Type inference
Type inference refers to the automatic deduction of the type of an expression in a programming language. If some, but not all, type annotations are already present it is referred to as type reconstruction....

. It is popular among compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 writers and programming language researchers, as well as in the development of theorem provers
Automated theorem proving
Automated theorem proving or automated deduction, currently the most well-developed subfield of automated reasoning , is the proving of mathematical theorems by a computer program.- Decidability of the problem :...

.

SML is a modern descendant of the ML programming language
ML programming language
ML is a general-purpose functional programming language developed by Robin Milner and others in the early 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM...

 used in the Logic for Computable Functions (LCF)
LCF theorem prover
Logic for Computable Functions is an interactive automated theorem prover developed at the universities of Edinburgh and Stanford by Robin Milner and others in 1972. LCF introduced the general-purpose programming language ML to allow users to write theorem-proving tactics. Theorems in the system...

 theorem-proving project. It is distinctive among widely used languages in that it has a formal specification, given as typing rules and operational semantics
Operational semantics
In computer science, operational semantics is a way to give meaning to computer programs in a mathematically rigorous way. Operational semantics are classified into two categories: structural operational semantics formally describe how the individual steps of a computation take place in a...

 in The Definition of Standard ML (1990, revised and simplified as The Definition of Standard ML (Revised) in 1997).
Standard ML is a functional programming language with some impure features.
 
x
OK