2
我一直在玩NEWTYPE包装我的索引来避免错误,我有一些像这样的代码:派生类型及其依赖
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype PersonIdx = PersonIdx Int
deriving (Enum, Eq, Integral, Num, Ord, Real, Show)
为了得到Integral
,必须得到其所有的依赖关系好(因此上面的类型列表)。
有没有办法让它得到所有的依赖项Integral
?我想像这样:
newtype PersonIdx = PersonIdx Int
deriving (Integral(..))
我在想这是否有一个原则性的原因,或者根本就没有人实施过这个捷径。 – Novelocrat 2010-01-18 18:03:06
@Dario:虽然人们可能会创建一些TH快捷方式.. – yairchu 2010-01-18 20:26:19
在Haskell的哲学中有一点是明确的。语言中有很少的“捷径”,这个例子也不例外。 – Martijn 2010-01-19 10:15:45