haskell - 在 Haskell 中绑定(bind)部分应用的函数

标签 haskell partial-application

我是 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/

相关文章:

haskell - 我可以依靠 Template Haskell 扩展(使用 -ddump-splices)来始终生成有效代码吗?

Haskell:具有逻辑上不同 bool 值的类型安全

haskell - 如何在haskell中将数据从IO(String)转换为String

haskell - Haskell 中具有多个参数的部分应用程序

windows - 静默安装 Haskell 平台

haskell - 如何生成固定长度的数字来总结 Haskell 中的给定数字

javascript - 通用部分应用程序的 Varargs 函数参数不进行类型检查

java - 从java函数中部分应用函数

function - 在 Haskell 中,(+) 是一个函数,((+) 2) 是一个函数,((+) 2 3) 是 5。到底发生了什么?

functional-programming - 是否可以在 Dart 中使用部分应用(部分/应用/修复参数)