haskell - 以无点风格写作 f x = g x x

标签 haskell pointfree

我正在学习 Haskell。很抱歉问了一个非常基本的问题,但我似乎找不到答案。我有一个由 f 定义的函数:

f x = g x x

其中 g 是已定义的 2 个参数的函数。我如何编写这种无点风格?
编辑:不使用 lambda 表达式。

谢谢

最佳答案

f可以写成 Control.Monad.join :

f = join g
join函数 monad 是构造无点表达式时使用的原语之一,因为它本身不能以无点样式定义(它的 SKI calculus 等效,SII - Haskell 中的 ap id id - 不输入)。

关于haskell - 以无点风格写作 f x = g x x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169046/

相关文章:

Haskell map /zip 与。列表理解

haskell - 如果一种可以从另一种分配,是否可以比较两种类型?

haskell - Haskell monad 链接中的类型检查错误

haskell - 在 Haskell 中使用 Data.Reflection 时由于类型不明确而无法显示

haskell - 简化异或字符串

haskell - 为什么这个点自由定义在 Haskell 中不起作用?

f# - 在函数式编程中定义无点样式的函数。优点/缺点是什么?

parsing - 调试Haskell读取函数

haskell - GHCi 不适用于 FFI 导出声明/共享库

haskell - 使用无点表示法时如何强制类型