Standard ML C Emacs Lisp TeX Makefile Lex Other
Latest commit 8525a50 Sep 15, 2017 @MatthewFluet MatthewFluet committed on GitHub Merge pull request #194 from ak3n/master
Fix the type of GC_arrayCopy
Failed to load latest commit information.
basis-library Use `Array_copy{Array,Vector}` to implement `concatWith` Aug 21, 2017
benchmark Split `vector-concat` into `vector32-concat` and `vector64-concat` Aug 14, 2017
bin Add `{nonexhaustive,redundant}Bind ignore` to regression script May 24, 2017
doc Update MLBasisAnnotationExamples page May 23, 2017
ide Update .gitignore files. May 29, 2013
include Merge branch 'master' of into int-inf-… Oct 20, 2014
lib Slightly worse error message. This usually shouldn't reach users Jul 13, 2017
man Document LLVM codegen in guide. Mar 23, 2014
mllex Tweak Makefile-s to be more robust in the absence of documentation to… Jul 11, 2013
mlnlffigen Added missing call to fun_valty_nonvoid. Feb 17, 2015
mlprof Rename each .ignore file to a .gitignore file. May 29, 2013
mlton Merge branch 'master' of into array-copy-prims Aug 13, 2017
mlyacc Updated ML-Yacc examples (calc, fol, pascal) to comply with MLton bui… Feb 27, 2017
package Add Suggest: llvm for mlton-compiler Debian package May 29, 2015
regression VectorExps updates: Drop vector exp regressions that require ann Apr 1, 2017
runtime Fix the type of GC_arrayCopy Sep 14, 2017
util Update to SML/NJ 110.78 libraries (documentation) Nov 10, 2015
.gitignore Update .gitignore files. May 29, 2013
LICENSE Link to README and MLton-LICENSE files from root directory. Mar 11, 2013
Makefile Rename and add 'smlnj-mlton-x{2,4,8,16}' top-level Makefile targets Apr 14, 2017
README Link to README and MLton-LICENSE files from root directory. Mar 11, 2013


MLton is a whole-program optimizing compiler for the Standard ML
programming language.  MLton has the following features.

  + Portability.  
   Runs on the following platforms.
   o ARM: Linux (Debian).
   o Alpha: Linux (Debian).
   o AMD64: Darwin (Mac OS X), FreeBSD, Linux (Debian, Fedora, ...),
      Solaris (10 and above).
   o HPPA: HPUX (11.11 and above), Linux (Debian).
   o IA64: HPUX (11.11 and above), Linux (Debian).
   o PowerPC: AIX (5.2 and above), Darwin (Mac OS X), Linux (Debian,
   o PowerPC64: AIX (5.2 and above).
   o S390: Linux (Debian).
   o Sparc: Linux (Debian), Solaris (8 and above).
   o X86: Cygwin/Windows, Darwin (Mac OS X), FreeBSD, Linux (Debian,
      Fedora, ...), MinGW/Windows, NetBSD, OpenBSD, Solaris (10 and
  + Robustness.
   o Supports the full SML 97 language as given in The Definition 
      of Standard ML (Revised).
   o A complete implementation of the Basis Library.
   o Generates standalone executables.
   o Compiles large programs.
   o Support for large amounts of memory (up to 4G on 32-bit systems; 
      more on 64-bit systems).
   o Support for large array lengths (up to 2^31 - 1 on 32-bit
      systems; up to 2^63-1 on 64-bit systems).
   o Support for large files, using 64-bit file positions.
  + Performance.
   o Executables have excellent running times.
   o Generates small executables.
   o Untagged and unboxed native integers, reals, and words.
   o Unboxed native arrays.
   o Multiple garbage collection strategies.
   o Fast arbitrary-precision arithmetic based on the GnuMP.
  + Tools.
   o Source-level profiling for both time and allocation.
   o MLLex lexer generator.
   o MLYacc parser generator.
   o ML-NLFFIGEN foreign-function-interface generator.
  + Extensions.
   o A simple and fast C FFI that supports calling from SML to C and 
      from C to SML.
   o The ML Basis system for programming in the very large.
   o Libraries for continuations, finalization, interval timers,
      random numbers, resource limits, resource usage, signal
      handlers, object size, system logging, threads, weak pointers,
      and world save and restore.

For more information, go to the MLton home page. 

There are two mailing lists available.

 *        MLton developers
 *   MLton user community 

doc directory contents:
        README                  this file
        changelog               changelog
        cm2mlb/                 a utility for producing ML Basis programs in SML/NJ
        cmcat/                  a utility for producing whole programs in SML/NJ
        examples/               example SML programs
        guide/                  HTML MLton guide (copy of the MLton wiki)
        license/                license information
        mllex.pdf               user guide for mllex lexer generator
        mlton-guide.pdf         PDF version of MLton guide
        mlyacc.pdf              user guide for mlyacc parser generator