Skip to content

Latest commit

 

History

History
125 lines (94 loc) · 6.97 KB

README.md

File metadata and controls

125 lines (94 loc) · 6.97 KB

Awesome Standard ML

Useful things for the Standard ML programming language.

Language definition

Tutorials

Courses

Modules

References

Data structures

Implementations

  • 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.

Standard libraries

Implementation libraries

Third-party 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

Build tools

Editing tools

Applications

Commentary

Community