On Apr 22, 2013, at 03:31 , Michael Norrish Michael.Norrish@nicta.com.au wrote:
Is the following really supposed to be acceptable? Both Poly/ML and mlton accept it without complaining:
datatype '+ = C | D;
(Moscow ML rejects it. mlton and Poly/ML treat it as the declaration of a unary type operator called +.)
and what about
datatype '' foo = C | D;
MLton and Poly/ML are correct. A type variable can be named plain ' or '', and symbolic identifiers (except *) are allowed as type names.
/Andreas