On Wed, 16 Sep 2009, David Matthews wrote:
To be honest, when I think of an abstract type I think of the abstype construction rather than opaque signature matching.
In fact, we are more used to SML90-style signature matching anyway. Some opaque matches were introduced only recently to ensure that certain types loose equality status.
At an intermediate state, I've also tried abstype, but discontinued it again at the point where a structure definition within its body was required. This appears to be illegal, probably because abstype is much older than the structure/signature/functor layer in ML.
Interestingly, opaque signature matching also causes problems in SML/NJ pretty printing. I consider to make another attempt at abstype within a non-opaque structure, trying to avoid the nested structure within the abstract type.
Makarius