我想用一个属性,然后由另一排序(如果第一个属性是一样的。)组成两个比较函数?
什么在Haskell组成两个比较函数的惯用方式,即用sortBy
使用的功能?
鉴于
f :: Ord a => a -> a -> Ordering
g :: Ord a => a -> a -> Ordering
组成f
和g
会产生:
h x y = case v of
EQ -> g x y
otherwise -> v
where v = f x y
使用'Data.Monoid',你可以得到:'fxy \'mappend \'gxy'。 – Vitus 2012-07-14 18:50:37