假设有人想要计算函数:
f (x,y) = ((x `mod` 3)+(y `mod` 3)) `mod` 2
然后,如果手动展开f (-1,0)
,则会得到:
((-1 `mod` 3)+(0 `mod` 3)) `mod` 2
1
但是,如果使用内联函数,则结果为:
let f (x,y) = ((x `mod` 3)+(y `mod` 3)) `mod` 2 in f (-1,0)
0
存储不会产生预期结果的函数会发生什么?
我认为这是因为f
使用Integral
代替Int
?