【发布时间】:2011-11-20 14:24:36
【问题描述】:
我想使用 Data.List.groupBy 根据 snd 元素的相等性对元组列表进行分组。
我可以这样做:
groupBy (\l r -> snd l == snd r) listOfTuples
但我觉得比较函数中的样板太多了——尤其是因为如果我进行更复杂的比较,它可能会变得更加混乱。我想做类似的事情:
groupBy (comparing snd) listOfTuples
但是比较的类型签名是comparing :: (Ord a) => (b -> a) -> b -> b -> Ordering,所以在这个例子中不能编译。
我也可以这样做:
groupBy (\l r -> (comparing snd l r) == EQ) listOfTuples
但这并不比第一次尝试更好。在我自己动手之前,是否有针对此问题的标准库解决方案?
【问题讨论】:
标签: haskell functional-programming standard-library