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 +