Из отчета haskell:
Класс quot, rem, div и mod методы удовлетворяют этим законам, если y не равен нулю:
(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
Каковы некоторые примеры того, где разница между тем, как результат усечен, имеет значение?