haskell レポートから:
y がゼロ以外の場合、quot、rem、div、および mod クラス メソッドは次の法則を満たします。
(x `quot` y)*y + (x `rem` y) == x (x `div` y)*y + (x `mod` y) == x
quot
はゼロに向かって切り捨てられた整数除算であり、 の結果はdiv
負の無限大に向かって切り捨てられます。
例えば:
Prelude> (-12) `quot` 5
-2
Prelude> (-12) `div` 5
-3
結果がどのように切り捨てられるかの違いが問題になる例は何ですか?