(.)
运算符具有签名:
(.) :: (b -> c) -> (a -> b) -> a -> c
(.) f g x = f $ g x
这看起来与原始递归函数中的composition function类似,只有一个 g 。
我对扩展 g -functions的数量感兴趣,但是(多个)函数在函数(.)
上应用g
函数有多个操作数。换句话说就像:
(..) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
(..) f g x y = f $ g x y
在Hoogle上搜索不会产生任何功能。是否有一个包可以处理任意数量的操作数?
答案 0 :(得分:6)
回答 - 如果我的意见:
多参数函数组合运算符很容易定义,幸运的是有人已经为你做了这个。 composition包有一组很好的运算符供您用这种方式组合函数。我还发现,fpcomplete's版本不是使用haskell.org的hoogle引擎,而是搜索更多包,以便更容易找到我正在寻找的内容。
答案 1 :(得分:2)
Jasper Van der Jeugt有一个通用运营商正是这样做的。参看this blog post