Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Standard ML
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Implementations== Implementations of Standard ML include the following: '''Standard''' * [http://www.mpi-sws.org/~rossberg/hamlet/ HaMLet]: a Standard ML interpreter that aims to be an accurate and accessible reference implementation of the standard * [[MLton]] ([http://www.mlton.org mlton.org]): a [[Interprocedural optimization|whole-program optimizing]] compiler which strictly conforms to the Definition and produces very fast code compared to other ML implementations, including [[Compiler#Back end|backends]] for [[LLVM]] and C * [http://www.itu.dk/people/sestoft/mosml.html Moscow ML]: a light-weight implementation, based on the [[Caml]] Light runtime engine which implements the full Standard ML language, including modules and much of the basis library * [http://www.polyml.org/ Poly/ML]: a full implementation of Standard ML that produces fast code and supports multicore hardware (via Portable Operating System Interface ([[POSIX]]) threads); its runtime system performs parallel [[Garbage collection (computer science)|garbage collection]] and online sharing of immutable substructures. * [[Standard ML of New Jersey]] ([http://www.smlnj.org/ smlnj.org]): a full compiler, with associated libraries, tools, an interactive shell, and documentation with support for [[Concurrent ML]] * [http://www.cl.cam.ac.uk/Research/TSG/SMLNET/ SML.NET]: a Standard ML compiler for the [[Common Language Runtime]] with extensions for linking with other [[.NET]] framework code * [http://www.elsman.com/mlkit/ ML Kit] {{Webarchive|url=https://web.archive.org/web/20160107005413/http://www.elsman.com/mlkit/ |date=2016-01-07}}: an implementation based very closely on the Definition, integrating a garbage collector (which can be disabled) and [[region-based memory management]] with automatic inference of regions, aiming to support real-time applications '''Derivative''' * [[Alice (programming language)|Alice]]: an interpreter for Standard ML by Saarland University with support for parallel programming using [[Futures and promises|futures]], [[lazy evaluation]], [[distributed computing]] via [[remote procedure call]]s and [[constraint programming]] * [http://www.pllab.riec.tohoku.ac.jp/smlsharp/ SML#]: an extension of SML providing record polymorphism and C language interoperability. It is a conventional native compiler and its name is ''not'' an allusion to running on the .NET framework * [https://github.com/SOSML/SOSML SOSML]: an implementation written in [[TypeScript]], supporting most of the SML language and select parts of the basis library '''Research''' * [https://cakeml.org/ CakeML] is a REPL version of ML with formally verified runtime and translation to assembler. * [[Isabelle (proof assistant)|Isabelle]] ([http://isabelle.in.tum.de Isabelle/ML] {{Webarchive|url=https://web.archive.org/web/20200830080049/http://isabelle.in.tum.de/ |date=2020-08-30 }}) integrates parallel Poly/ML into an interactive theorem prover, with a sophisticated IDE (based on [[jEdit]]) for official Standard ML (SML'97), the Isabelle/ML dialect, and the proof language. Starting with Isabelle2016, there is also a source-level debugger for ML. * [[Poplog]] implements a version of Standard ML, along with [[Common Lisp]] and [[Prolog]], allowing mixed language programming; all are implemented in [[POP-11]], which is [[Incremental compiler|compiled incrementally]]. * [http://www.cs.cornell.edu/home/jgm/tilt.html TILT] is a full certifying compiler for Standard ML which uses typed [[Intermediate representation|intermediate languages]] to [[Program optimization|optimize]] code and ensure correctness, and can compile to [[typed assembly language]]. All of these implementations are [[Open-source license|open-source]] and freely available. Most are implemented themselves in Standard ML. There are no longer any commercial implementations; [[Harlequin (software company)|Harlequin]], now defunct, once produced a commercial IDE and compiler called MLWorks which passed on to [[Xanalys]] and was later open-sourced after it was acquired by Ravenbrook Limited on April 26, 2013.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)