Useful things for the Standard ML programming language.
- SML Family website
- Definition of Standard ML (SML'90)
- Definition of Standard ML (SML'97)
- Full grammar of SML'97 syntax
- Defects in SML'97
- Mechanization of Standard ML
- Successor ML
- ML for the Working Programmer (2nd Edition, full text)
- Programming in Standard ML (Robert Harper) (and PDF version)
- Programming in Standard ML '97: An Online Tutorial (Stephen Gilmore)
- Tips for Computer Scientists on Standard ML (Revised) (Mads Tofte)
- A Gentle Introduction to ML (Andrew Cummings)
- Programming Languages course notes (Dan Grossman)
- Introduction to Standard ML (Atsushi Ohori)
- Standard ML Programming at Wikibooks
- Learn X in Y minutes Where X=Standard ML
- Modules Matter Most: presentation and rationale of the module system
- Essentials of Standard ML Modules (Mads Tofte)
- SML/NJ (Standard ML of New Jersey): the canonical SML compiler
- MLton: very advanced whole-program optimizing compiler
- MaPLe: fork-join parallelism extension for MLton
- Poly/ML: good compiler with threads and concurrent GC
- CakeML: verified self-hosting subset of SML
- Alice ML: SML with extensions for concurrent, distributed, and constraint programming
- Moscow ML: lightweight compiler and interpreter
- HaMLet: self-hosting SML interpreter written entirely in SML
- MLKit: new compiler with versatile GC
- SML#: new compiler with practical language extensions
- MLWorks: old commercial compiler from Harlequin, open-sourced by Ravenbrook
- SML.NET: compiler targeting the .NET Common Language Runtime
- MLj: compiles a SML subset to JVM bytecode
- SMLtoJs: SML-to-JavaScript transpiler
- SOSML: Online Interpreter for Standard ML, written in TypeScript
- WebML: WebAssembly compiler and REPL that runs on browsers
- LunarML: transpile to Lua
- Morel: Standard ML interpreter, with relational extensions, implemented in Java
- Further implementation overview: provides additional information per implementation, such as FFI, availability of REPL.
- SML/NJ libraries also ships with MLton
- Poly/ML libraries
- Moscow ML libraries
MLton
structure- MLton libraries
- cmlib basic library of algorithms and data structures
- sml-rmath library supporting seven SML implementations/dialects (for the Rmath library)
- sml-iconv library supporting MLton and Poly/ML, based on FFI, providing bindings for iconv
- Smackage: package manager for many implementations
- SML/NJ Compilation Manager (CM); for SML/NJ, also partly supported by MLton; also see the Compiler Hacker's Guide to CM
- PreML: preprocessor for SML
- smlformat: auto-formatter for the Standard ML language (based on SML/NJ)
- smlpkg: A generic, implementation-agnostic package manager for Standard ML.
- Bazel SML Rules: Bazel build rules support for SML (via MLton).
- Emacs sml-mode: editing mode for SML code
- Emacs sml-basis: Basis Library documentation
- Millet SML language server: Inline errors, syntax helpers, and other entry-level langserver features
- FoxNet: TCP/IP stack in SML