
One might expect a == (a/b)*b and other common arithmetic formulas to
hold for division?
/Jonas
On 31 May 2010 14:32, Maciej Piechotka
I started to wonder what is the difference between div and / so they are 2 separate symbols.
div: Take a Integral divide and round (down)
(/): Take a Fractional divide and usually round
In some applications I would like to use any of those but it is not possible. Is this unification taken into account while reworking numeric classes?
I.e. why not:
class Num a => Divisable a where (/) :: a -> a -> a
class (Real a, Enum a, Divisable a) => Integral a where quot :: a -> a -> a rem :: a -> a -> a div = (/) mod :: a -> a -> a x `quotRem` y = (x `quot` y, x `rem y) x `divMod` y = (x `div` y, x `mod` y) toInteger :: a -> Integer
class Divisable a => Fractional a where recip = (1/) :: a -> a fromRational :: Rational -> a
(Example does not take into account other refactoring)
Regards
PS. Why is Fd/cPid etc. Integral or even Num? What does (stdin + stderr) `mod` stdout mean (result will be stdin).
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe