Named for Meta Language, ML is a general-purpose, functional programming language designed by Robert Milner and a team of developers at the University of Edinburgh in 1973.
The language uses the Hindley-Milner type system, which is now used by most functional languages, although ML was the first to implement it as part of its type system. It automatically assigns the types of most expressions without the need for explicit type annotations, and it ensures type safety. A well-written ML program does not include runtime type errors.
ML is frequently used in programming language research, being one of a few languages that are completely specified and verified using formal semantics. It can be used to operate on other formal languages, such as in compiler writing, automated theorem proving, and formal verification. ML is a general-purpose language, but its strengths lie in language design and manipulation.
Although ML is a functional programming language, in that it encourages functional programming, but it is an impure functional language because it does allow side-effects that a purely functional language, like Haskell, would not.
Other languages in the ML family include Dependent ML, F#, Lazy ML, Ocaml, PAL, and Standard M, the latter of which itself has spawned Alice ML, MLton, Moscow ML, and SML/NJ.
The focus of this category, obviously, is on the ML family of programming languages, although languages for which we have enough resources may be included in a subcategory. IDEs, editors, or other tools designed to facilitate programming with the language are also appropriate here, as are ML user groups, forums, tutorials, guides, or other resources.
Categories
Alice MLCaml | F SharpStandard ML |
 
 
Recommended Resources
Based on a subset of Standard ML, CakeML is a functional programming language and an ecosystem of proofs and tools built around the language, including a proven-correct compiler that can bootstrap itself. The code for this project is hosted on GitHub, which also hosts pre-built downloads. Its codes and publications, starter projects, and the latest compiler are featured, along with development notes, documentation, and acknowledgments of its developers and contributors.
https://cakeml.org/
MLton is an open-source, whole-program, optimizing Standard ML compiler. MLton runs on a variety of platforms, supports the full SML 97 language, including a complete implementation of the Basis Library, with no additional code or libraries necessary in order to run an executable. It generates standalone executables, compiles large programs, including itself; the distributed version of MLton was compiled by MLton. Its features, performance, tools, and extensions are highlighted.
http://www.mlton.org/
Hosted by SourceForge, MLton provides a feature-rich Standard ML programming environment, offering full support for SML97 as given in the Definition of Standard ML, a number of useful language extensions, a complete implementation of the SML Basis Library, as well as other useful libraries, a simple C foreign function interface, and the ML Basis system for programming with source libraries and other tools. Project activity notes, file downloads, and read-only code are included.
https://sourceforge.net/projects/mlton/