Skip to content

Type variables in DataD do not match up:

When reigying an ADT, the type variables listed on the left side are different from those used on the right side:

Prelude Language.Haskell.TH> $(reify ''Maybe >>= stringE . show)
"TyConI (DataD [] Data.Maybe.Maybe [a_1627391676] [NormalC Data.Maybe.Nothing [],NormalC Data.Maybe.Just [(NotStrict,VarT a_1627391681)]] [])"

The type variables do match up when we look just at the constructor:

Prelude Language.Haskell.TH> $(reify 'Just >>= stringE . show)
"DataConI Data.Maybe.Just (ForallT [a_1627391681] [] (AppT (AppT ArrowT (VarT a_1627391681)) (AppT (ConT Data.Maybe.Maybe) (VarT a_1627391681)))) Data.Maybe.Maybe (Fixity 9 InfixL)"
Trac metadata
Trac field Value
Version 6.7
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Template Haskell
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Multiple
Architecture Multiple
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information