CompilationManager ================== The http://www.smlnj.org/doc/CM/index.html[Compilation Manager] (CM) is SML/NJ's mechanism for supporting programming-in-the-very-large. == Porting SML/NJ CM files to MLton == To help in porting CM files to MLton, the MLton source distribution includes the sources for a utility, `cm2mlb`, that will print an <:MLBasis: ML Basis> file with essentially the same semantics as the CM file -- handling the full syntax of CM supported by your installed SML/NJ version and correctly handling export filters. When `cm2mlb` encounters a `.cm` import, it attempts to convert it to a corresponding `.mlb` import. CM anchored paths are translated to paths according to a default configuration file (). For example, the default configuration includes ---- # Standard ML Basis Library $SMLNJ-BASIS $(SML_LIB)/basis $basis.cm $(SML_LIB)/basis $basis.cm/basis.cm $(SML_LIB)/basis/basis.mlb ---- to ensure that a `$/basis.cm` import is translated to a `$(SML_LIB)/basis/basis.mlb` import. See `util/cm2mlb` for details. Building `cm2mlb` requires that you have already installed a recent version of SML/NJ.