On 30/11/2013 13:16, Phil Clayton wrote:
There was a discussion about this on the MLton mailing list while ago and MLton now has an annotation to control the context used: http://thread.gmane.org/gmane.comp.lang.ml.mlton.user/1335/focus=6086 http://sourceforge.net/p/mlton/code/7618/
I thought MLton's default value for this annotation (equivalent to its previous behaviour) caused a narrower context than PolyML, so I have been using -default-ann 'resolveScope topdec' to get (nearly) equivalent behaviour between the compilers.
Phil
The default scope for Poly/ML is the "program" in the sense that the Definition uses it: one or more topdecs with a semicolon at the end. It looks as though MLton has "dec" scope, "topdec" or "program" but with "program" meaning all the input. That makes sense in the context of a whole-program optimising compiler.
David