Gael> The organization of the code has to be adapted: sources.cm and mlb Gael> files have to be rewritten in some equivalent for polyml
Ian> Yes. I use driver files that are actually written in ML. The PolyML structure Ian> (and especially PolyML.Compiler) is your friend.
OK. I have not yet completely understood how to do that. I try to put a ml_bind.ML file in my library folders. But I do not manage to refer to it from another code folder. Seems tricky about the files locations (shall they be given a full path?). Would you have a small example of how to do that?
Gael> Some libraries will be missing (from my first attempt, it seems Gael> that smlnj basis is bigger than what is provided in polyml)
Ian> Do you really mean basis, or the smlnj-lib? From the latter, I have ported all Ian> of Util, and I'm working (now & then, when I have time) on the rest.
I mean smlnj-lib.
Actually, since my question yesterday, I found this very interesting page: http://www.tbrk.org/software/poly_smlnj-lib.html by Timothy Bourke
Following the advices there allowed me to quickly get the smlnj-lib working. Except that I do not manage to add it to the basis directory of polyml (did not find a way to correctly add it in the build.sml file).
Gael> Interfaces with C will have to be adapted (among others: does it Gael> exist an easy way to have nlffi in polyml?)
Not that I know.
Gael> Some grammar constructs may not be accepted by polyml. For Gael> example: case x of (0 | 1) => true | _ => false; is not accepted Gael> in polyml
This is not Standard ML, so it won't work in MLton, either. In fact I'm pretty sure it is discussed in the "Deviations of SML/NJ" article on MLton wiki.