On Sun, 10 Sep 2006, Aaron Denney wrote: > >> Of course, there's always a typeclass, where we could add all sorts of > >> other encodings of the Peano axioms, such as binary trees,, but I don't > >> see that that buys us much if we don't also get access to operations > >> beyond them, such as (an _efficient_) `div` for fastexp. > > > > I don't see why Natural can't have an instance of whatever > > class ends up owning âdivâ. It's perfectly well behaved on > > Naturals. > > True. It seems odd to have a multiplicative (pseudo) inverse, but > not an additive, though. Breaking up the numeric hierarchy too finely > seems like it would be a pain -- take it to the limit of a > separate class per function. What else would you drag in with "div"? > "mod", (*), ...?
from http://darcs.haskell.org/numericprelude/src/Algebra/Core.lhs : > class (Num a) => Integral a where > div, mod :: a -> a -> a > divMod :: a -> a -> (a,a) > > -- Minimal definition: divMod or (div and mod) > div a b = fst (divMod a b) > mod a b = snd (divMod a b) > divMod a b = (div a b, mod a b) _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe