At 18:38 31/08/2009, Rob Arthan wrote:
Section 4.9 of the ML97 definitions describes something called Abs(TE, VE) that I think is changing the types declared between "abstype" and "with" into non-equality types and getting rid of their constructors. I think the conflict you mention is why there is a Successor ML proposal to do what you have done.
IIRC, part of the reasoning behind this is that you need some way of removing the equality attribute from types. E.g. if you are implementing sets with unordered lists, the default equality function for an int set will not give the correct result. Abstype provides a way (possibly the only way) of removing the equality attribute.
It's been a long while since I was involved with SML, so please take this with a pinch of salt.
Dave.