Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / MLBasisAvailableLibraries.adoc
1 MLBasisAvailableLibraries
2 =========================
3
4 MLton comes with the following <:MLBasis:ML Basis> files available.
5
6 * `$(SML_LIB)/basis/basis.mlb`
7 +
8 The <:BasisLibrary:Basis Library>.
9
10 * `$(SML_LIB)/basis/basis-1997.mlb`
11 +
12 The (deprecated) 1997 version of the <:BasisLibrary:Basis Library>.
13
14 * `$(SML_LIB)/basis/mlton.mlb`
15 +
16 The <:MLtonStructure:MLton> structure and signatures.
17
18 * `$(SML_LIB)/basis/c-types.mlb`
19 +
20 Various structure aliases useful as <:ForeignFunctionInterfaceTypes:>.
21
22 * `$(SML_LIB)/basis/unsafe.mlb`
23 +
24 The <:UnsafeStructure:Unsafe> structure and signature.
25
26 * `$(SML_LIB)/basis/sml-nj.mlb`
27 +
28 The <:SMLofNJStructure:SMLofNJ> structure and signature.
29
30 * `$(SML_LIB)/mlyacc-lib/mlyacc-lib.mlb`
31 +
32 Modules used by parsers built with <:MLYacc:>.
33
34 * `$(SML_LIB)/cml/cml.mlb`
35 +
36 <:ConcurrentML:>, a library for message-passing concurrency.
37
38 * `$(SML_LIB)/mlnlffi-lib/mlnlffi-lib.mlb`
39 +
40 <:MLNLFFI:ML-NLFFI>, a library for foreign function interfaces.
41
42 * `$(SML_LIB)/mlrisc-lib/...`
43 +
44 <:MLRISCLibrary:>, a library for retargetable and optimizing compiler back ends.
45
46 * `$(SML_LIB)/smlnj-lib/...`
47 +
48 <:SMLNJLibrary:>, a collection of libraries distributed with SML/NJ.
49
50 * `$(SML_LIB)/ckit-lib/ckit-lib.mlb`
51 +
52 <:CKitLibrary:>, a library for C source code.
53
54 * `$(SML_LIB)/mllpt-lib/mllpt-lib.mlb`
55 +
56 <:MLLPTLibrary:>, a support library for the <:MLULex:> scanner generator and the <:MLAntlr:> parser generator.
57
58
59 == Basis fragments ==
60
61 There are a number of specialized ML Basis files for importing
62 fragments of the <:BasisLibrary: Basis Library> that can not be
63 expressed within SML.
64
65 * `$(SML_LIB)/basis/pervasive-types.mlb`
66 +
67 The top-level types and constructors of the Basis Library.
68
69 * `$(SML_LIB)/basis/pervasive-exns.mlb`
70 +
71 The top-level exception constructors of the Basis Library.
72
73 * `$(SML_LIB)/basis/pervasive-vals.mlb`
74 +
75 The top-level values of the Basis Library, without infix status.
76
77 * `$(SML_LIB)/basis/overloads.mlb`
78 +
79 The top-level overloaded values of the Basis Library, without infix status.
80
81 * `$(SML_LIB)/basis/equal.mlb`
82 +
83 The polymorphic equality `=` and inequality `<>` values, without infix status.
84
85 * `$(SML_LIB)/basis/infixes.mlb`
86 +
87 The infix declarations of the Basis Library.
88
89 * `$(SML_LIB)/basis/pervasive.mlb`
90 +
91 The entire top-level value and type environment of the Basis Library, with infix status. This is the same as importing the above six MLB files.