| ... |
... |
@@ -353,7 +353,6 @@ module Language.Haskell.TH where |
|
353
|
353
|
type Pred = Type
|
|
354
|
354
|
type PredQ :: *
|
|
355
|
355
|
type PredQ = Q Pred
|
|
356
|
|
- type role Q nominal
|
|
357
|
356
|
type Q :: * -> *
|
|
358
|
357
|
newtype Q a = ...
|
|
359
|
358
|
type Quote :: (* -> *) -> Constraint
|
| ... |
... |
@@ -1700,11 +1699,11 @@ module Language.Haskell.TH.Syntax where |
|
1700
|
1699
|
data Pragma = InlineP Name Inline RuleMatch Phases | OpaqueP Name | SpecialiseEP (GHC.Internal.Maybe.Maybe [TyVarBndr ()]) [RuleBndr] Exp (GHC.Internal.Maybe.Maybe Inline) Phases | SpecialiseInstP Type | RuleP GHC.Internal.Base.String (GHC.Internal.Maybe.Maybe [TyVarBndr ()]) [RuleBndr] Exp Exp Phases | AnnP AnnTarget Exp | LineP GHC.Internal.Types.Int GHC.Internal.Base.String | CompleteP [Name] (GHC.Internal.Maybe.Maybe Name) | SCCP Name (GHC.Internal.Maybe.Maybe GHC.Internal.Base.String)
|
|
1701
|
1700
|
type Pred :: *
|
|
1702
|
1701
|
type Pred = Type
|
|
1703
|
|
- type role Q nominal
|
|
1704
|
1702
|
type Q :: * -> *
|
|
1705
|
|
- newtype Q a = Q {unQ :: forall (m :: * -> *). Quasi m => m a}
|
|
|
1703
|
+ newtype Q a = ...
|
|
1706
|
1704
|
type Quasi :: (* -> *) -> Constraint
|
|
1707
|
1705
|
class (GHC.Internal.Control.Monad.IO.Class.MonadIO m, GHC.Internal.Control.Monad.Fail.MonadFail m) => Quasi m where
|
|
|
1706
|
+ qRunQ :: forall a. Q a -> m a
|
|
1708
|
1707
|
qNewName :: GHC.Internal.Base.String -> m Name
|
|
1709
|
1708
|
qReport :: GHC.Internal.Types.Bool -> GHC.Internal.Base.String -> m ()
|
|
1710
|
1709
|
qRecover :: forall a. m a -> m a -> m a
|
| ... |
... |
@@ -1733,7 +1732,7 @@ module Language.Haskell.TH.Syntax where |
|
1733
|
1732
|
qExtsEnabled :: m [Extension]
|
|
1734
|
1733
|
qPutDoc :: DocLoc -> GHC.Internal.Base.String -> m ()
|
|
1735
|
1734
|
qGetDoc :: DocLoc -> m (GHC.Internal.Maybe.Maybe GHC.Internal.Base.String)
|
|
1736
|
|
- {-# MINIMAL qNewName, qReport, qRecover, qLookupName, qReify, qReifyFixity, qReifyType, qReifyInstances, qReifyRoles, qReifyAnnotations, qReifyModule, qReifyConStrictness, qLocation, qGetPackageRoot, qAddDependentFile, qAddDependentDirectory, qAddTempFile, qAddTopDecls, qAddForeignFilePath, qAddModFinalizer, qAddCorePlugin, qGetQ, qPutQ, qIsExtEnabled, qExtsEnabled, qPutDoc, qGetDoc #-}
|
|
|
1735
|
+ {-# MINIMAL qRunQ, qNewName, qReport, qRecover, qLookupName, qReify, qReifyFixity, qReifyType, qReifyInstances, qReifyRoles, qReifyAnnotations, qReifyModule, qReifyConStrictness, qLocation, qGetPackageRoot, qAddDependentFile, qAddDependentDirectory, qAddTempFile, qAddTopDecls, qAddForeignFilePath, qAddModFinalizer, qAddCorePlugin, qGetQ, qPutQ, qIsExtEnabled, qExtsEnabled, qPutDoc, qGetDoc #-}
|
|
1737
|
1736
|
type Quote :: (* -> *) -> Constraint
|
|
1738
|
1737
|
class GHC.Internal.Base.Monad m => Quote m where
|
|
1739
|
1738
|
newName :: GHC.Internal.Base.String -> m Name
|
| ... |
... |
@@ -1881,6 +1880,7 @@ module Language.Haskell.TH.Syntax where |
|
1881
|
1880
|
trueName :: Name
|
|
1882
|
1881
|
tupleDataName :: GHC.Internal.Types.Int -> Name
|
|
1883
|
1882
|
tupleTypeName :: GHC.Internal.Types.Int -> Name
|
|
|
1883
|
+ unQ :: forall a. Q a -> forall (m :: * -> *). Quasi m => m a
|
|
1884
|
1884
|
unTypeCode :: forall (r :: GHC.Internal.Types.RuntimeRep) (a :: TYPE r) (m :: * -> *). Quote m => Code m a -> m Exp
|
|
1885
|
1885
|
unTypeQ :: forall (r :: GHC.Internal.Types.RuntimeRep) (a :: TYPE r) (m :: * -> *). Quote m => m (TExp a) -> m Exp
|
|
1886
|
1886
|
unboxedSumDataName :: SumAlt -> SumArity -> Name
|