组成两个比较函数?
我想先sorting一个属性,然后再sorting(如果第一个属性是相同的)。
 Haskell中sortBy两个比较函数的惯用方法是什么,即与sortBy使用的函数? 
特定
 f :: Ord a => a -> a -> Ordering g :: Ord a => a -> a -> Ordering 
 构成f和g会产生: 
 hxy = case v of EQ -> gxy otherwise -> v where v = fxy 
	
 维古斯指出了Monoid for Order的非常酷的例子。 如果你将它与实例instance Monoid b => Monoid (a -> b)起来,你的组合函数就是(准备就绪): 
 mappend 
一探究竟:
 Prelude Data.Monoid> let fab = EQ Prelude Data.Monoid> let gab = LT Prelude Data.Monoid> :tf `mappend` g f `mappend` g :: t -> t1 -> Ordering Prelude Data.Monoid> (f `mappend` g) undefined undefined LT Prelude Data.Monoid> let fab = GT Prelude Data.Monoid> (f `mappend` g) undefined undefined GT 
+1强大和简单的抽象