An ML Basis path map describes a map from ML Basis path variables (of the form $(VAR)) to file system paths. ML Basis path variables provide a flexible way to refer to libraries while allowing them to be moved without changing their clients.
The format of an mlb-path-map file is a sequence of lines; each line consists of two, white-space delimited tokens. The first token is a path variable VAR and the second token is the path to which the variable is mapped. The path may include path variables, which are recursively expanded.
The mapping from path variables to paths is initialized by reading a system-wide configuration file: /usr/lib/mlton/mlb-path-map. Additional path maps can be specified with -mlb-path-map and individual path variable mappings can be specified with -mlb-path-var (see CompileTimeOptions). Configuration files are processed from first to last and from top to bottom, later mappings take precedence over earlier mappings.
The compiler and system-wide configuration file makes the following path variables available.
MLB path variable | Description |
---|---|
SML_LIB |
path to system-wide libraries, usually /usr/lib/mlton/sml |
TARGET_ARCH |
string representation of target architecture |
TARGET_OS |
string representation of target operating system |
DEFAULT_INT |
binding for default int, usually int32 |
DEFAULT_WORD |
binding for default word, usually word32 |
DEFAULT_REAL |
binding for default real, usually real64 |