- Standard ML of New Jersey
Standard ML of New Jersey (abbreviated SML/NJ) is a compiler and programming environment for
Standard ML . Aside from itsruntime system , which is written in C, SML/NJ is written in Standard ML. It was developed jointly by Bell Laboratories andPrinceton University .Its name is a reference both to Princeton's home state and to
Standard Oil of New Jersey , the famous oilmonopoly of the early 20th century.Features
SML/NJ extends the SML'97 Basis Library with several additional top-level structures:
* system info - this module provides information about the runtime system, such as theOperating System kind, type and version and whether or not the machine supportsmultiprocessing .
* weak pointers - a weakpointer is one that is not sufficient to keep an object alive. If a heap value is referenced via ordinary pointers then it will remain alive, but if it is only referenced via weak pointers then it will be garbage collected.
* lazy suspensions - this module implements the suspensions necessary forlazy evaluation (as opposed toeager evaluation ).
*compiler internals - SML/NJ provides access to several of the compiler internals, including methods to instantiate and modify the signal table.
* unsafe access - these modules provide unsafe access to data structures and runtime-system functions.
* compiler modules - SML/NJ also includes a structure that provides control of the ML compiler, which contains substructures for execution profiling, control of compiler error-message printing and warnings, and customizable pretty printing.Versions
The current version of SML/NJ is Version 110, which is available for Windows, Unix, and Mac OS X. It is free, open source software and is available for download. [http://www.smlnj.org/software.html]
ee also
*
Extended ML
*Dependent ML External links
* [http://www.smlnj.org/ Standard ML of New Jersey]
Wikimedia Foundation. 2010.