标签: haskell operators typeclass composition
我一直在尝试实现一个通用的合成运算符<$.$>,以便:
<$.$>
f <$.$> g1 <$.$> g2 <$.$> .. <$.$> gn = \x1 x2 .. xn -> f (g1 x1) (g2 x2) .. (gn xn)
它/应该/可以用类型类和一些额外的语言扩展来实现它。我的主要想法是让操作符标记每个级别,以便下一个操作符组成适当的参数。
不幸的是,我对实现细节感到困惑,因为我还没有遇到类型类滥用的问题,而且我并不完全清楚需要哪些语言扩展。任何帮助表示赞赏!