This repository was archived by the owner on May 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
This repository was archived by the owner on May 25, 2022. It is now read-only.
template-haskell 2.17 #48
Copy link
Copy link
Closed
Description
The new template haskell in ghc 9 offered these migration instructions for TyVarBndr
https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#template-haskell-217
I've naively attempted to resolve this by setting TyVarBndrSpec here
But I get one type error.
composite-base > /home/lc/Source/github.com/composite/composite-base/src/Composite/TH.hs:163:59: error:
composite-base > • Couldn't match type ‘()’ with ‘Specificity’
composite-base > Expected: Control.Lens.Getter.Getting
composite-base > (base-4.15.0.0:Data.Semigroup.Internal.Endo
composite-base > [(Name, [TyVarBndrSpec], Type)])
composite-base > [Dec]
composite-base > (Name, [TyVarBndrSpec], Type)
composite-base > Actual: ((Name, [Language.Haskell.TH.Lib.Internal.TyVarBndrUnit],
composite-base > Type)
composite-base > -> Data.Functor.Const.Const
composite-base > (base-4.15.0.0:Data.Semigroup.Internal.Endo
composite-base > [(Name, [TyVarBndrSpec], Type)])
composite-base > (Name, [Language.Haskell.TH.Lib.Internal.TyVarBndrUnit], Type))
composite-base > -> [Dec]
composite-base > -> Data.Functor.Const.Const
composite-base > (base-4.15.0.0:Data.Semigroup.Internal.Endo
composite-base > [(Name, [TyVarBndrSpec], Type)])
composite-base > [Dec]
composite-base > • In the first argument of ‘toListOf’, namely ‘(each . _TySynD)’
composite-base > In the second argument of ‘(.)’, namely ‘toListOf (each . _TySynD)’
composite-base > In the second argument of ‘(.)’, namely
composite-base > ‘map fieldDecMay . toListOf (each . _TySynD)’
composite-base > |
composite-base > 163 | let fieldDecs = catMaybes . map fieldDecMay . toListOf (each . _TySynD) $ decs
I can't really see what's going on here, but _TySynD doesn't look like something I want to change, but if I change these all to TyVarBndrUnit, then I get an error trying to use ForallT, which also doesn't look like like something I want to change.
composite-base > /home/lc/Source/github.com/composite/composite-base/src/Composite/TH.hs:220:30: error:
composite-base > • Couldn't match type ‘()’ with ‘Specificity’
composite-base > Expected: [TyVarBndr Specificity]
composite-base > Actual: [TyVarBndr ()]
composite-base > • In the first argument of ‘ForallT’, namely ‘lensBinders’
composite-base > In the second argument of ‘SigD’, namely
composite-base > ‘(ForallT lensBinders lensContext lensType)’
composite-base > In the expression:
composite-base > SigD lensName (ForallT lensBinders lensContext lensType)
composite-base > |
composite-base > 220 | , SigD lensName (ForallT lensBinders lensContext lensType)
composite-base > | ^^^^^^^^^^^
composite-base >
composite-base > /home/lc/Source/github.com/composite/composite-base/src/Composite/TH.hs:240:31: error:
composite-base > • Couldn't match type ‘()’ with ‘Specificity’
composite-base > Expected: [TyVarBndr Specificity]
composite-base > Actual: [TyVarBndr ()]
composite-base > • In the first argument of ‘ForallT’, namely ‘prismBinders’
composite-base > In the second argument of ‘SigD’, namely
composite-base > ‘(ForallT prismBinders prismContext prismType)’
composite-base > In the expression:
composite-base > SigD prismName (ForallT prismBinders prismContext prismType)
composite-base > |
composite-base > 240 | , SigD prismName (ForallT prismBinders prismContext prismType)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels