我想用一個屬性,然後由另一排序(如果第一個屬性是一樣的。)組成兩個比較函數?
什麼在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