3 ms·
I also use .mlb files exclusively and agree with your general point - but I do make use of Poly/ML and occasionally SML/NJ against the same sources, using scrip
by cannam 4y ago
I also use .mlb files exclusively and agree with your general point - but I do make use of Poly/ML and occasionally SML/NJ against the same sources, using scripts to drive them from .mlb files: https://github.com/cannam/sml-buildscripts https://github.com/cannam/sml-buildscripts
These scripts are really limited. They only support the simplest .mlb files that are really just lists of other files, and the semantics are technically incorrect because they have no way to reset the environment when beginning each new .mlb file in, as the spec says they should. I use them scrappily during development and then generally use MLton for production builds. But you can get quite a lot done within those limitations, and it's very nice to have the faster compilation of Poly/ML, as well as the option of seeing error messages from more than one compiler.
- ratmice 4y agoI have always done the opposite using SML/NJ's CompilationManager, then deriving mlb with cm2mlb -D MLton (in the mlton repo), with mlton specific code then wrapped in #if (defined(MLton)). That you can use CM as a library has always been really handy, but otherwise the same, using MLton for production builds.
- frou_dh 4y agoAnd you offer a nice selection of SML libraries on your GitHub https://github.com/cannam?tab=repositories&type=source&language=standard+ml https://github.com/cannam?tab=repositories&type=source&langu... - Thanks for that!