1
我正在试验基于HList的基于类型的异构列表。HList成员的自动HEQ实例
我已经定义如下:
import Data.HList
data ATag
data BTag
type TagList = ATag :*: BTag :*: HNil
bIndex :: Int
bIndex = hNat2Integral (hFind (undefined :: BTag) (undefined :: TagList))
我期待bIndex
有值1。相反,我得到以下错误:
No instances for (HEq BTag ATag b,
HFind' b BTag (HCons BTag HNil) n0)
arising from a use of `hFind'
看来,GHC(7.4.1)不能自动推断实例
HEq BTag ATag HFalse
有什么办法可以使这种情况发生N +