是否有一个库具有n-ary版本的元组函数,如first
,***
等,通过Template Haskell(或使用其他方法)。
理想情况下我想说
$(select 3 [0, 1])
我们制作lambda
\(x, y, z) -> (x, y)
和函数的通用***
$(tapply 3 [(0, "f"), (1, "g"), (2, "h")])
会使lambda
\f g h (x, y, z) -> (f x, g y, h z)
其他n-ary函数也不错,但这些是我目前需要的两个。