The SML/NJ Library consists of the following components
The documentation for the SML/NJ Library is incomplete. However, much of the Util component and the RegExp component of the library are covered in the SML/NJ Library Manual. For documentation of Util modules not covered here, see the comments in the source files for the various signature modules (e.g. src/smlnj-lib/Util/hash-table-sig.sml).
- Util - general data structures like sets and maps
- Unix - system interfaces special to Unix
- INet - programming with sockets
- PP - pretty printing
- RegExp - regular expression pattern matching
- HTML - HTML parsing and processing
- Reactive - Sugarcube-like reactive programming
For other components, the corresponding source directories (e.g. src/smlnj-lib/Unix) contain README files, and further documentation can be gleaned from the source files, particularly the signature files.
To assist in converting code from earlier versions of SML/NJ, there is a brief Porting Guide that lists name changes, deletions, and additions in the library relative to the 0.3beta release from 1994. This Porting Guide is also found in the smlnj-lib source directory in the file named PORTING.
NOTE:. In order to compile a program that uses the SML/NJ Library under CM, you need to include "smlnj-lib.cm" in the program's CM description file. This will work assuming the CM path is set up properly to find the standard libraries; if not, you may have to set the path manually (
CM.set_path) or via the CM_PATH environment variable.