Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Standard ML
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Standard ML
(section)
Add topic