There were several letters on the subject of constructing Ratio
values with n % m,
n :% m (impossible).
Haskell-98 provides the function (or operation) %
that models the rule for the symbol `/' for Rational numbers in
mathematics.
Similar as ` 4/(-6) = 2/(-3) = (-2)/3 '
is true in mathematics
( 4%(-6) == 2%(-3), 2%(-3) == (-2)%3 ) = (True,True)
in Haskell-98.
And the *constructor* `:%' does not exist at all in Haskell-98.
Haskell-98 puts that there is no need for it and chooses this
approach for evident reason.
Other approach is also possible.
For example, my DoCon program defines data Fraction a = a :/ a ...
and exports `:/'.
It helps efficiency, but requires more care from the programmer to
avoid certain evident danger.
------------------
Sergey Mechveliani
[EMAIL PROTECTED]