The SML# source directory src consists of the following directories and files.
Directories
SML# compiler source
| basis/ | the Standard ML Basis Library |
| compiler/ | the SML# compiler |
| config/ | the library to access system parameter set by configure |
| ffi/ | the support library for direct C interface |
| llvm/ | the LLVM code generation library |
| runtime/ | the runtime system |
| sql/ | the SQL integration support library |
| thread/ | the thread support library |
| unix-utils/ | the library for UNIX basic commands |
SML# tools
| smlformat/ | smlformatthe pretty printer generator |
| smlunit/ | the unit test library |
These are general purpose tools we have developed for SML#. Since they are relatively small system independent of the SML# compiler, we omit their description in this current document.
third-party codes
| ml-lex/ | a lexer generator |
| ml-yacc/ | a parser generator |
| smlnj/ | smlnj source files used in basis/ |
| smlnj-lib/ | smlnj utility library |
These third-party codes are ported to SML#. They are are included here with their licenses. make system compiles them with SML# source code to build the SML# system. This document does not describe these code.
Files
| basis.smi | the interface file of the Standard ML Basis Library |
| builtin.smi | the interface file to bind builtin data |
| config.mk | definition of environment variables of the compiler command |
| config.mk.in | the template file of config.mk |
| config.sed | the sed script to generate config.mk |
| ffi.smi | the interface file of the direct C interface |
| foreach.smi | the interface file of data parallel execution |
| json.smi | the interface file of JSON support |
| ml-yacc-lib.smi | the interface file of the smlyacc library |
| prelude.smi | the interface file of interactive mode |
| reifyTy.smi | the interface file for reflection |
| smlformat-lib.smi | the interface file of the smlformat library |
| smlnj-lib.smi | the interface file of smlnj-lib |
| smlunit-lib.smi | the interface file of smlunit |
| sql.smi | the interface file of the SQL integration support |
| thread.smi | the interface file of the thread support |