我是 Haskell 新手,所以如果您觉得这个问题微不足道,请原谅:
我如何让 GHCi 接受这种声明:let foo = fmap (*3) 。 fmap (+10)
?
我尝试向 foo 添加类型声明(let foo::[Int] -> [Int] =
等)以使仿函数类型显式,但编译器响应 Illegal Signature
.
谢谢!
编辑 - 显然有很多方法可以做到这一点。我选择了 Tikhon 的答案,因为他是第一个,而且相当直观。谢谢大家!
最佳答案
要在 ghci 中给出类型签名,不需要任何扩展的最好方法是用分号分隔签名和绑定(bind),
let foo :: Num n => [n] -> [n]; foo = map (*3) . map (+ 10)
关于haskell - 在 Haskell 中绑定(bind)部分应用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11750727/