[Haskell-cafe] Re: default for quotRem in terms of divMod?
Isaac Dupree
isaacdupree at charter.net
Sat Aug 11 17:53:50 EDT 2007
Henning Thielemann wrote:
> Btw. is there any application, where 'quot' and 'rem' are needed? All
> occurrences of 'quot' and 'rem' I found in code so far were actually wrong
> and should have been 'div' and 'mod'.
>
> http://www.haskell.org/haskellwiki/Things_to_avoid#Forget_about_quot_and_rem
Yes, my implementation of Integer in terms of lists of Int, deliberately
uses the symmetry of quotRem in order to store negative numbers as the
negation of all elements of the positive number, and be able to
virtually ignore the signs most of the time. (Also because quotRem is
usually faster, I figured it made sense to use that technique.) (It
doesn't make any difference on numbers that cannot be negative, also.)
Everywhere else I remember when coding, div/mod were the correct ones to
use (even back when I was coding in C, I wished I had that rounding
behavior some time).
I do think that if you almost always want to _use_ div and mod, you
should be able to just define div and mod too (not quot and rem) -- one
reason I brought up the issue :)
Isaac
More information about the Haskell-Cafe
mailing list