Matthew Fluet wrote:
There appears to be a bug with datatype replication when the to-be-replicated type is brought into scope by an open.

[fl...@shadow tmp]$ poly
Poly/ML 5.3 Release candidate 1
structure S1 = struct open Date datatype t = datatype weekday end;
Exception- InternalError: codeVal - Formal raised while compiling

Exception- InternalError: codeVal - Formal raised while compiling


Thanks.  Now fixed.

Also, the Definition allows binding non-datatypes with datatype replication, so the following should be accepted:

[fl...@shadow tmp]$ poly
Poly/ML 5.3 Release candidate 1
structure S2 = struct datatype t = datatype char end;
Error-char is not a datatype Found near datatype t = datatype char
Static Errors

I think you're right and I've removed this check so it's now allowed. The Definition seems to allow an arbitrary type structure to be replicated so the following is also legal:
type 'a t = 'a * 'a;
datatype s = datatype t;

David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to