我是 Haskell 的新手,我在查找类型方面遇到了问题
f x y = f y x
GHCI 给我:a->a->b
但是我不明白为什么。谁能给我解释一下?
最佳答案
如果可以同时使用 x
(左侧)和 y
(右侧)作为 f
的第一个参数,它们必须是同一类型。这就是 a -> a
的来源。
您的函数将无限递归而不返回任何内容,因此您可以正确地声称它具有任意返回类型,因为在任何情况下它都不会因返回另一种类型的值而被伪造,因为它永远不会返回。这就是任意 b
的来源。
关于Haskell - 寻找一般类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260045/