Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / hacker-guide / sources.tex
CommitLineData
7f918cf1
CE
1\chap{The sources}{sources}
2
3This section is an overview of the sources to the compiler and all of the
4associated tools. Here is a brief description of each element of the root
5source directory. Throughout the rest of this document, we will use pathnames
6that are relative to the source directory.
7
8\begin{description}
9
10\place{basis-library}
11The basis library implementation.
12\place{benchmark}
13Code and tests used for benchmarking {\mlton}, {\smlnj}, and {\mosml}.
14\place{bin}
15Scripts for type checking the basis library, making rpms, running {\mlton}, and
16running regression tests.
17\place{doc}
18Sources for the user guide, hacker guide, web site, announcements, README.
19\place{include}
20Include files needed for compiling C files generated by {\mlton}.
21\place{lib}
22SML library code, which is used in {\tt mlton}, {\tt mlprof}, and {\tt
23benchmark}. There are also many generally useful libraries.
24\place{Makefile}
25To make everything. This is only used when building rpms.
26\place{man}
27Manual pages for {\tt mlton} and {\tt mlprof}.
28\place{mllex}
29Lexer generator, taken and slightly modified from {\smlnj}.
30\place{mlprof}
31Profiler.
32\place{mlton}
33Compiler.
34\place{mlyacc}
35Parser generator, taken and slightly modified from {\smlnj}.
36\place{regression}
37Regression tests, about 150 SML files that are used to test the compiler.
38\place{runtime}
39Runtime system, which includes the garbage collector and C libraries used in
40the basis (including the GMP used for {\tt IntInf}).
41
42\end{description}