language: Standard ML


Language:
Standard ML (SML)
Package:
MLton
Version:
20070826
Parts:
compiler(->C), basis-library, run-time
Author:
Originally Stephen Weeks, many others since Open Source
Location:
http://mlton.org/
Description:
MLton is a whole-program optimizing compiler for the Standard ML programming language. MLton runs on X86 machines under Linux. MLton produces fast, standalone executables.
Conformance:
Supports the full SML 97 language as given in The Definition of Standard ML (Revised)
Features:
+ whole-program optimization
+ IntInf implemented using GNU multiprecision library
+ continuations
+ heap save and restore
+ C FFI
+ profiling
- slow compile times
- large memory requirement
Bugs:
http://mlton.org/Bug
Restriction:
Requires:
Ports:
Windows, Linux, HPUX, AIX,
Portability:
Sparc, PowerPC, PowerPC64, X86, AMD64, HPPA, IA64
Status:
active
Contributions:
Announcements:
comp.lang.ml, http://mlton.org/
Updated:
August 2007

Language:
Standard ML
Package:
Moscow ML
Version:
1.30
Parts:
bytecode compiler, runtime, libraries, documentation
Author:
Sergei Romanenko <sergei-romanenko@refal.msk.su>
Location:
ftp://ftp.dina.kvl.dk/pub/mosml/
Description:
Moscow SML provides a light-weight implementation of the Standard ML Core language, a strict functional language widely used in teaching and research.

Moscow SML is particularly suitable for teaching and experimentation, where fast compilation and modest storage consumption are more important than fast program execution. Thanks to the efficient run-time system of Caml Light, Moscow SML compiles fast and uses little memory. Typically it uses 5-10 times less memory than SML/NJ and 2-3 times less than Edinburgh ML. Yet the bytecode is only 3 to 12 times slower than SML/NJ 0.93 compiled native code (fast on PCs, slower on RISCs).

Moscow SML implements arithmetic exceptions, and thus deals with the entire Core language.

Requires:
Caml Light 0.61
Ports:
anything Caml Light supports
Updated:
September 30th, 1994

Language:
BNF (yacc), Standard ML
Package:
New SML-Yacc and SML-Lex
Version:
??
Parts:
??
Author:
Andrew Appel <appel@tyrolia.princeton.edu>
Location:
princeton.edu/pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
Description:
??
Updated:
May 23rd, 1994

Language:
Standard ML
Package:
SML/NJ (Standard ML of New Jersey)
Version:
0.93
Parts:
compiler, libraries, extensions, interfaces, documentation, build facility
Author:
D. B. MacQueen <dbm@research.att.com>, Lal George <george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>, A. W. Appel <appel@princeton.edu>
Location:
ftp://research.att.com/dist/ml/*
Description:
Standard ML is a modern, polymorphically typed, (impure) functional language with a module system that supports flexible yet secure large-scale programming. Standard ML of New Jersey is an optimizing native-code compiler for Standard ML that is written in Standard ML. It runs on a wide range of architectures. The distribution also contains:
  • an extensive library - The Standard ML of New Jersey Library, including detailed documentation.
  • CML - Concurrent ML
  • eXene - an elegant interface to X11 (based on CML)
  • SourceGroup - a separate compilation and "make" facility CML, eXene and SourceGroup not in the Macintosh port, but the Mac port has a built-in editor.
Ports:
M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh, OS/2
Updated:
Febuary 18th, 1993

Language:
Standard ML
Package:
sml2c
Version:
?
Parts:
compiler(->C), documentation, tests
Author:
School of Computer Science, Carnegie Mellon University
Location:
ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c/sml2c.tar.Z
linux:
ftp://ftp.dcs.glasgow.ac.uk/pub/linux/smlnj-0.82-linux.tar.Z
Description:
sml2c is a Standard ML to C compiler. sml2c is a batch compiler and compiles only module-level declarations, i.e. signatures, structures and functors. It provides the same pervasive environment for the compilation of these programs as SML/NJ. As a result, module-level programs that run on SML/NJ can be compiled by sml2c without any changes. Based on SML/NJ version 0.67 and shares front end and most of its runtime system, but does not support SML/NJ style debugging and profiling.
Conformance:
superset
  • first-class continuations,
  • asynchronous signal handling
  • separate compilation
  • freeze and restart programs
Ports:
IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
Portability:
easy, easier than SML/NJ
Contact:
david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu peter.lee@cs.cmu.edu
Updated:
June 27th, 1991

Language:
Standard ML
Package:
The ML Kit
Version:
1
Parts:
interprter, documentation
Author:
Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>, and Lars Birkedal at Edinburgh and Copenhagen Universities.
Location:
ftp://ftp.diku.dk/diku/users/birkedal/*
uk:
ftp://lfcs.ed.ac.uk/export/ml/mlkit/*
Description:
The ML Kit is a straight translation of the Definition of Standard ML into a collection of Standard ML modules. For example, every inference rule in the Definition is translated into a small piece of Standard ML code which implements it. The translation has been done with as little originality as possible - even variable conventions from the Definition are carried straight over to the Kit. The Kit is intended as a tool box for those people in the programming language community who may want a self-contained parser or type checker for full Standard ML but do not want to understand the clever bits of a high-performance compiler. We have tried to write simple code and modular interfaces.
Updated:
March 12th, 1993

Related Items


This site is supported by David Sharnoff and Bryan Miller with some help from Google Adwords.

Please send updates to free-compilers@sharnoff.org

The HTML is maintained by David Muir Sharnoff and the entries themselves are currently maintained by Bryan Miller.

Copyright (c) 1992-1998 David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994-1996, Steven Allen Robenalt, All Rights Reserved
Copyright (c) 1999-2010 David Muir Sharnoff, Bryan Miller, All Rights Reserved