Poly/ML correctly allows the following binding:
val op :: (h, t) = [1, 2, 3, 4];
However it also allows brackets around the constructor:
val (op ::) (h, t) = [1, 2, 3, 4];
My reading of the syntax in the definition of Standard ML is that the latter form should not be allowed. Am I right?
Regards,
Rob.