我很好奇,并且无法在Haskell中找到类似这样的建议.考虑一下是否sort写过但没有sortBy.
sortBy :: forall a. (a -> a -> Ordering) -> [a] -> [a]
sortBy f = map getX . sort . map X
where
newtype X = X { getX :: a }
instance Ord X where
compare (X a) (X b) = f a b
Run Code Online (Sandbox Code Playgroud)
有没有人见过这个提案?