Haskell中的S组合子

时间:2014-04-15 21:52:36

标签: haskell combinators s-combinator

可以使用标准函数(不用公式定义)并且不使用lambda(匿名函数)在Haskell中表示S combinator的模拟吗?我希望它类型为(a -> b -> c) -> (a -> b) -> a -> c

例如, K 组合子的类似物只是const

实际上我试图用标准函数来表达函数\f x -> f x x,但是不能想到任何标准的非线性函数(这是一个多次使用它的参数的函数)。

3 个答案:

答案 0 :(得分:31)

s = (<*>)代表((->) r) Applicative个实例。

答案 1 :(得分:18)

虽然它起初看起来不像,ap是S组合子(而join是你真正追求的组合者)。

答案 2 :(得分:0)

也可以使用Set-Cookie

它们包含在Prelude

(=<<), (>>=)