【发布时间】:2014-05-30 11:40:50
【问题描述】:
S combinator 的模拟是否可以在 Haskell 中仅使用标准函数(不通过方程定义)而不使用 lambda(匿名函数)来表示?我希望它的类型为(a -> b -> c) -> (a -> b) -> a -> c。
例如,K 组合子的模拟就是const。
事实上,我正在尝试使用标准函数来表达函数\f x -> f x x,但想不出任何标准的非线性函数可以开始(即多次使用其参数的函数)。
【问题讨论】:
-
\f x -> f x x在函数 monad 中是join。 -
我 blogged 关于我注意到 SK 组合演算和应用函子之间的一个链接,并从读者那里得到了一些您可能想要查看的有趣的 cmets。更多有趣的 cmets 也可查看this answer
-
什么是标准函数?
-
@duplode 我想知道这是否算作通过方程式定义它
-
@SassaNF,我的意思是任何相当标准的东西,比如
(.),($),可能是flip:)。
标签: haskell combinators s-combinator