Free Standard ML Compilers

for the Standard ML Programming Language

Free Standard ML Compilers

Standard ML (sometimes abbreviated "SML") is a general purpose functional programming language. It has modules, type checking and type inference. It is a descendant of the original ML, which was used for the LCF (Logic for Computable Functions) theorem-proving system. The formal rules for the Standard ML language can be found in The Definition of Standard ML - Revised. This page lists free Standard ML compilers, many (if not all) of which are open source.

Related Pages

Free ML Compilers for the Standard ML Programming Language

Alice New

Alice extends Standard ML with a variety of new features, including light-weight concurrency, higher-order functors and abstract signatures, static with dynamic typing and first class modules, higher-order type-safe generic and platform-independent persistance, platform-independence and type-safe dynamic import and export of modules, type-safe cross-platform remote functions and network mobility, etc. It comes with a compiler, portable virtual machine, static linker, a GUI, an SQL database library, XML-parsing library, and so on. Platforms supported include Windows, Mac OS, and Linux.

HaMLet New

HaMLet is a Standard ML interpreter that attempts to be a complete implementation of the Standard ML language. It is written in Standard ML, and available in source form. You will need another Standard ML compiler to build it.

Poly/ML (Windows, Linux, etc)

Poly/ML is a full implementation of the Standard ML language as given in the The Definition of Standard ML (Revised), also known as ML97. It has a foreign language interface that allows dynamic link libraries to be loaded and functions within them called from within your ML program. There is also an X-Window interface using Motif and a Windows programming interface. It comes with a symbolic debugger. It is open source with the source code containing binary versions of the compiler as well. Native code versions are available for i386, x86-64, PPC and SPARC. (Yes, Windows and Linux are among the supported systems.)

MLton (Windows, Linux, FreeBSD, Darwin, etc)

MLton is an optimizing Standard ML compiler that runs on a wide variety of operating systems, including Windows, Linux, FreeBSD, NetBSD, OpenBSD, Darwin/Mac OS X, HPUX, AIX, and SPARC Solaris. It implements the full language as well as has a complete implementation of the Standard ML Basis Library (all the required modules and many optional modules). It generates standalone executables, has support for large files, can compile large programs, supports native integers, reals and words, unboxed arrays, etc. It comes with tools like a profiler, a lexer, parser generator and has extensions that support calling from SML to C and vice versa.

Standard ML of New Jersey (Windows, etc)

Standard ML of New Jersey, or SML/NJ, compiles the Standard ML '97 programming language. It comes with the libraries, tools, documentation and source code (it's open source). Pre-compiled binaries are available for Windows and Unix-type systems (eg, SPARC, RS/6000, HPUX, etc).

MLKit (Linux)

MLKit is a compiler for the Standard ML language, as defined in the 1997 edition of The Definition of Standard ML (Revised) and implements most of the Standard ML Basis Library specification. It integrates reference-tracing garbage collection with region-based memory management, has region profiling, interfaces with C in that your ML programs can call C functions using C calling conventions, can generate either x86 native code for Linux or bytecode, etc. The program is open source. Precompiled binaries for Linux are also available.

SML.NET (Windows)

SML.NET is a compiler for the functional programming language Standard ML that targets the .NET Common Language Runtime (CLR). It extends the Standard ML ("SML") language to support use of the .NET framework libraries and code written in the other .Net languages like C# or Visual Basic. It compiles all of SML '97 (with some discrepancies) and implements almost all of the Standard ML Basis Library.

MLj (systems with the Java runtime)

MLj is a compiler for the Standard ML language that generates Java bytecodes. The resulting program requires a Java virtual machine to run. The website says that it "compiles the functor-free subset of the new SML'97 language plus some new language extensions". (The extensions allow you to interface with other Java VM languages, like Java itself.) It shares some of the code base with SML.NET (also listed on this Free Standard ML Compilers page).

Moscow ML (Windows, Linux)

Moscow ML implements the full Standard ML (SML) language including the SML modules and much of the SML Basis Library. Source code and binaries (executables) are available for Windows and Linux.

Related Pages

Newest Pages

Popular Pages

How to Link to This Page

It will appear on your page as:

Free Standard ML Compilers for the Standard ML Programming Language Free Webmaster Tutorials, Scripts and Articles Free How-To Guides Free Programmers, Webmasters and Security Resources
If you find this site useful, please link to us.