18得票7回答
类型推断干扰了引用透明性。

“Haskell语言提供的关于引用透明的确切承诺/保证是什么?至少Haskell报告没有提到这个概念。” “考虑表达式” (7^7^7`mod`5`mod`2) 我想知道这个表达式是否为1。出于安全考虑,我会执行两次: ( (7^7^7`mod`5`mod`2)==1, [False...

10得票2回答
将临时多态函数和参数多态函数之间转换的好方法

我想知道是否有一般方法可以在临时多态函数和参数多态函数之间进行转换。换句话说,给定一个临时的多态函数,如何实现其参数化的对应函数?反过来呢? 以sort为例。很容易用sortBy来编写sort :: Ord a => [a] -> [a]:sort :: Ord a => ...