the definition of rational permits the form and i found nothing in the description of arithmetic operator to preclude it.
there is a reference to automatic canonicalization, but a canonical form does not proscribe the existence of other representations.
given that specification, one would expect the operator implementations not to produce values of this form as a result, but one would also not expect them to produce arithmetically incorrect results when one is supplied.
why should "0/1" be illegal?
the definition of rational permits the form and i found nothing in the description of arithmetic operator to preclude it.
there is a reference to automatic canonicalization, but a canonical form does not proscribe the existence of other representations.
given that specification, one would expect the operator implementations not to produce values of this form as a result, but one would also not expect them to produce arithmetically incorrect results when one is supplied.