本地数据声明/实例的提案

时间:2013-03-10 08:30:28

标签: haskell local typeclass

我很好奇,并且无法在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

有人见过这个提案吗?

1 个答案:

答案 0 :(得分:1)

显然,在Haskell Prime邮件列表中简要讨论了本地实例:http://web.archiveorange.com/archive/v/eKcS7T2qBpy7czBE2Jei,并且在Oleg的论文“功能性珍珠:隐式配置”的6 th 章节中进行了更全面的讨论。不过,我几乎没有听说过本地数据声明。