Hello,
Over the past few months, I have been working on an implementation of the ML Basis system for Poly/ML. It supports the complete mlb spec and is available both as a library and a cli tool:
https://github.com/vqns/polymlb
On a side note, I have been trying to implement incremental compilation by caching compiled .mlb files (i.e compiler namespaces) and exporting and reimporting them through {save,load}ModuleBasic. I have however been running into the issue that exporting each .mlb to a different on-disk module causes opaque types mismatch when reimporting them. What would be the reason for that?
I have managed to work around it by exporting everything to the same file, but that result in a fairly large cache, e.g ~45mb for smlfmt (1.2mb executable, 15k loc). I suppose the reason for that is that I export the basis library as well, but I'm not sure there is a solution for that.