I'm encountering an unexpected (and presumably buggy) type error when compiling the MLton sources with Poly/ML r883. I am able to compile the MLton sources with Poly/ML 5.2.1 (and also MLton and SML/NJ), so I'm fairly certain that the code is type correct. Unfortunately, the set of sharing constraints with the AST related signatures is fairly complex, and I haven't had any luck trimming things down to a simpler example.
You can recreate the bug with the following commands. The "polyml-mlton-extra.tgz" includes the set of derived files that aren't in the source distribution; it avoids the need to have MLton installed to reproduce the bug.
$ wget http://mlton.org/pages/TemporaryUpload/attachments/polyml-mlton-extra.tgz $ svn co svn://mlton.org/mlton/trunk mlton $ cd mlton $ tar -xzf ../polyml-mlton-extra.tgz $ cd mlton $ ( echo 'use "mlton-polyml.use";' ) | poly Poly/ML 5.3 Release candidate 1
...
val it = () : unit Error- in 'ast/ast-modules.fun', line 14. Structure does not match signature in sub-structure Longvid. Signature: val toLongcon: Longvid.t -> Longcon.t Structure: val toLongcon: Longvid.t -> Longvid.t Reason: Can't match Longvid.L.node (*Created from applying functor AstAtoms*) to Longcon.L.node (*Created from applying functor AstAtoms*) (Different type constructors) Found near AstCore(AstAtoms(S)) Error- in 'ast/ast-modules.fun', line 14. Structure does not match signature in sub-structure Type. Signature: constructor Con: Longtycon.t * Type.t vector -> Type.node Structure: constructor Con: Longcon.t * Type.t vector -> Type.node Reason: Can't match Longcon.L.node (*Created from applying functor AstAtoms*) to Longtycon.T.node (*Created from applying functor AstAtoms*) (Different type constructors) Found near AstCore(AstAtoms(S)) ... Exception- Fail "Static Errors" raised Exception- Fail "Static Errors" raised
I hope that is enough to help make progress.
Matthew Fluet wrote:
I'm encountering an unexpected (and presumably buggy) type error when compiling the MLton sources with Poly/ML r883. I am able to compile the MLton sources with Poly/ML 5.2.1 (and also MLton and SML/NJ), so I'm fairly certain that the code is type correct. Unfortunately, the set of sharing constraints with the AST related signatures is fairly complex, and I haven't had any luck trimming things down to a simpler example.
You can recreate the bug with the following commands. The "polyml-mlton-extra.tgz" includes the set of derived files that aren't in the source distribution; it avoids the need to have MLton installed to reproduce the bug.
Thanks. I've fixed that and it seems to compile all the way through now.
David