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
- How to Design / Create a Website
- Free Prolog Compilers and Interpreters
- Free Common LISP Compilers and Interpreters
- Free Algol Compilers and Interpreters
- Free Ada Compilers
- Free Programming Language Grammars for Compiler Construction
- Free Help Authoring Tools
- Free Source Code Version Control Software
- Free Compiler Construction Tools: Lexers, Parser Generators, Optimizers
Free ML Compilers for the Standard ML Programming Language
- Alice
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
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
- Free 3D Software Box Image Makers
- Free x86 / PC Emulators and Virtual Machines - run Windows programs on a Mac
- Free Autorun/Autoplay DVD and CD Menu Creation Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
- Free DVD/CD Emulators, Free Virtual CD/DVD Drives
- Free Anonymous Surfing
- How to Register Your Own Domain Name - get one for your software
- Which Web Host Do You Recommend? (FAQ)
Newest Pages
- How to Convert Your Website from XHTML 1.0 to HTML5 the Quick and Easy Way
- How to Set the Height of a DIV Relative to a Browser Window (CSS)
- Free EPUB Readers (Ebook Viewing Software)
- How to Generate the Free Let's Encrypt SSL Certificate on Your Own (Windows) Computer
- How to Insert Meta Tags into a Web Page with BlueGriffon
- How to Play a Song (or Some Other Audio Clip) from a List on a Website
- Two Ways to View a Binary File on Windows Without Installing Anything
- How to Draw a Horizontal Line on a Web Page with Expression Web
- How to Create a Website Free of Charge
- Why Can't I Make Up Any Domain I Want? Is There a Way to Do Away with a Registrar Altogether?
How to Link to This Page
It will appear on your page as:
Free Standard ML Compilers for the Standard ML Programming Language