div
との動作に奇妙な矛盾があることがわかりました/
。
*ghci> :t 1 `div` 0
1 `div` 0 :: Integral a => a
*ghci> :t 1 / 0
1 / 0 :: Fractional a => a
*ghci> 1 / 0
Infinity
*ghci> 1 `div` 0
*** Exception: divide by zero
Infinity
ゼロによる分数除算が につながるのに対し、div
正しくは例外につながることに気づいて、私は非常に驚きました。ANaN
は にも受け入れられる可能性があります/
が、なぜInfinity
ですか? このような結果には、数学的な正当化はありません。この理由を教えてください。