{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilyDependencies #-}
{-# LANGUAGE UndecidableInstances #-}
module Language.Haskell.Syntax.Extension where
import GHC.Prelude
import GHC.TypeLits (Symbol, KnownSymbol)
import Data.Data hiding ( Fixity )
import Data.Kind (Type)
import GHC.Utils.Outputable
data NoExtField = NoExtField
deriving (Typeable NoExtField
Typeable NoExtField
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NoExtField -> c NoExtField)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NoExtField)
-> (NoExtField -> Constr)
-> (NoExtField -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NoExtField))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NoExtField))
-> ((forall b. Data b => b -> b) -> NoExtField -> NoExtField)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r)
-> (forall u. (forall d. Data d => d -> u) -> NoExtField -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> NoExtField -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField)
-> Data NoExtField
NoExtField -> Constr
NoExtField -> DataType
(forall b. Data b => b -> b) -> NoExtField -> NoExtField
forall a.
Typeable a
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> NoExtField -> u
forall u. (forall d. Data d => d -> u) -> NoExtField -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NoExtField
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NoExtField -> c NoExtField
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NoExtField)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NoExtField)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NoExtField -> c NoExtField
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NoExtField -> c NoExtField
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NoExtField
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NoExtField
$ctoConstr :: NoExtField -> Constr
toConstr :: NoExtField -> Constr
$cdataTypeOf :: NoExtField -> DataType
dataTypeOf :: NoExtField -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NoExtField)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NoExtField)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NoExtField)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NoExtField)
$cgmapT :: (forall b. Data b => b -> b) -> NoExtField -> NoExtField
gmapT :: (forall b. Data b => b -> b) -> NoExtField -> NoExtField
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NoExtField -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> NoExtField -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> NoExtField -> [u]
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> NoExtField -> u
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> NoExtField -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> NoExtField -> m NoExtField
Data,NoExtField -> NoExtField -> Bool
(NoExtField -> NoExtField -> Bool)
-> (NoExtField -> NoExtField -> Bool) -> Eq NoExtField
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NoExtField -> NoExtField -> Bool
== :: NoExtField -> NoExtField -> Bool
$c/= :: NoExtField -> NoExtField -> Bool
/= :: NoExtField -> NoExtField -> Bool
Eq,Eq NoExtField
Eq NoExtField
-> (NoExtField -> NoExtField -> Ordering)
-> (NoExtField -> NoExtField -> Bool)
-> (NoExtField -> NoExtField -> Bool)
-> (NoExtField -> NoExtField -> Bool)
-> (NoExtField -> NoExtField -> Bool)
-> (NoExtField -> NoExtField -> NoExtField)
-> (NoExtField -> NoExtField -> NoExtField)
-> Ord NoExtField
NoExtField -> NoExtField -> Bool
NoExtField -> NoExtField -> Ordering
NoExtField -> NoExtField -> NoExtField
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NoExtField -> NoExtField -> Ordering
compare :: NoExtField -> NoExtField -> Ordering
$c< :: NoExtField -> NoExtField -> Bool
< :: NoExtField -> NoExtField -> Bool
$c<= :: NoExtField -> NoExtField -> Bool
<= :: NoExtField -> NoExtField -> Bool
$c> :: NoExtField -> NoExtField -> Bool
> :: NoExtField -> NoExtField -> Bool
$c>= :: NoExtField -> NoExtField -> Bool
>= :: NoExtField -> NoExtField -> Bool
$cmax :: NoExtField -> NoExtField -> NoExtField
max :: NoExtField -> NoExtField -> NoExtField
$cmin :: NoExtField -> NoExtField -> NoExtField
min :: NoExtField -> NoExtField -> NoExtField
Ord)
instance Outputable NoExtField where
ppr :: NoExtField -> SDoc
ppr NoExtField
_ = String -> SDoc
text String
"NoExtField"
noExtField :: NoExtField
noExtField :: NoExtField
noExtField = NoExtField
NoExtField
data DataConCantHappen
deriving (Typeable DataConCantHappen
Typeable DataConCantHappen
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> DataConCantHappen
-> c DataConCantHappen)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DataConCantHappen)
-> (DataConCantHappen -> Constr)
-> (DataConCantHappen -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DataConCantHappen))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DataConCantHappen))
-> ((forall b. Data b => b -> b)
-> DataConCantHappen -> DataConCantHappen)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r)
-> (forall u.
(forall d. Data d => d -> u) -> DataConCantHappen -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> DataConCantHappen -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen)
-> Data DataConCantHappen
DataConCantHappen -> Constr
DataConCantHappen -> DataType
(forall b. Data b => b -> b)
-> DataConCantHappen -> DataConCantHappen
forall a.
Typeable a
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> DataConCantHappen -> u
forall u. (forall d. Data d => d -> u) -> DataConCantHappen -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DataConCantHappen
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DataConCantHappen -> c DataConCantHappen
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DataConCantHappen)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DataConCantHappen)
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DataConCantHappen -> c DataConCantHappen
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DataConCantHappen -> c DataConCantHappen
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DataConCantHappen
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DataConCantHappen
$ctoConstr :: DataConCantHappen -> Constr
toConstr :: DataConCantHappen -> Constr
$cdataTypeOf :: DataConCantHappen -> DataType
dataTypeOf :: DataConCantHappen -> DataType
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DataConCantHappen)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DataConCantHappen)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DataConCantHappen)
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DataConCantHappen)
$cgmapT :: (forall b. Data b => b -> b)
-> DataConCantHappen -> DataConCantHappen
gmapT :: (forall b. Data b => b -> b)
-> DataConCantHappen -> DataConCantHappen
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DataConCantHappen -> r
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> DataConCantHappen -> [u]
gmapQ :: forall u. (forall d. Data d => d -> u) -> DataConCantHappen -> [u]
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> DataConCantHappen -> u
gmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> DataConCantHappen -> u
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DataConCantHappen -> m DataConCantHappen
Data,DataConCantHappen -> DataConCantHappen -> Bool
(DataConCantHappen -> DataConCantHappen -> Bool)
-> (DataConCantHappen -> DataConCantHappen -> Bool)
-> Eq DataConCantHappen
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DataConCantHappen -> DataConCantHappen -> Bool
== :: DataConCantHappen -> DataConCantHappen -> Bool
$c/= :: DataConCantHappen -> DataConCantHappen -> Bool
/= :: DataConCantHappen -> DataConCantHappen -> Bool
Eq,Eq DataConCantHappen
Eq DataConCantHappen
-> (DataConCantHappen -> DataConCantHappen -> Ordering)
-> (DataConCantHappen -> DataConCantHappen -> Bool)
-> (DataConCantHappen -> DataConCantHappen -> Bool)
-> (DataConCantHappen -> DataConCantHappen -> Bool)
-> (DataConCantHappen -> DataConCantHappen -> Bool)
-> (DataConCantHappen -> DataConCantHappen -> DataConCantHappen)
-> (DataConCantHappen -> DataConCantHappen -> DataConCantHappen)
-> Ord DataConCantHappen
DataConCantHappen -> DataConCantHappen -> Bool
DataConCantHappen -> DataConCantHappen -> Ordering
DataConCantHappen -> DataConCantHappen -> DataConCantHappen
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DataConCantHappen -> DataConCantHappen -> Ordering
compare :: DataConCantHappen -> DataConCantHappen -> Ordering
$c< :: DataConCantHappen -> DataConCantHappen -> Bool
< :: DataConCantHappen -> DataConCantHappen -> Bool
$c<= :: DataConCantHappen -> DataConCantHappen -> Bool
<= :: DataConCantHappen -> DataConCantHappen -> Bool
$c> :: DataConCantHappen -> DataConCantHappen -> Bool
> :: DataConCantHappen -> DataConCantHappen -> Bool
$c>= :: DataConCantHappen -> DataConCantHappen -> Bool
>= :: DataConCantHappen -> DataConCantHappen -> Bool
$cmax :: DataConCantHappen -> DataConCantHappen -> DataConCantHappen
max :: DataConCantHappen -> DataConCantHappen -> DataConCantHappen
$cmin :: DataConCantHappen -> DataConCantHappen -> DataConCantHappen
min :: DataConCantHappen -> DataConCantHappen -> DataConCantHappen
Ord)
instance Outputable DataConCantHappen where
ppr :: DataConCantHappen -> SDoc
ppr = DataConCantHappen -> SDoc
forall a. DataConCantHappen -> a
dataConCantHappen
dataConCantHappen :: DataConCantHappen -> a
dataConCantHappen :: forall a. DataConCantHappen -> a
dataConCantHappen DataConCantHappen
x = case DataConCantHappen
x of {}
type family XRec p a = r | r -> a
type family Anno a = b
class UnXRec p where
unXRec :: XRec p a -> a
class MapXRec p where
mapXRec :: (Anno a ~ Anno b) => (a -> b) -> XRec p a -> XRec p b
class WrapXRec p a where
wrapXRec :: a -> XRec p a
type family IdP p
type LIdP p = XRec p (IdP p)
type family XHsValBinds x x'
type family XHsIPBinds x x'
type family XEmptyLocalBinds x x'
type family XXHsLocalBindsLR x x'
type family XValBinds x x'
type family XXValBindsLR x x'
type family XFunBind x x'
type family XPatBind x x'
type family XVarBind x x'
type family XPatSynBind x x'
type family XXHsBindsLR x x'
type family XPSB x x'
type family XXPatSynBind x x'
type family XIPBinds x
type family XXHsIPBinds x
type family XCIPBind x
type family XXIPBind x
type family XTypeSig x
type family XPatSynSig x
type family XClassOpSig x
type family XIdSig x
type family XFixSig x
type family XInlineSig x
type family XSpecSig x
type family XSpecInstSig x
type family XMinimalSig x
type family XSCCFunSig x
type family XCompleteMatchSig x
type family XXSig x
type family XFixitySig x
type family XXFixitySig x
type family XStandaloneKindSig x
type family XXStandaloneKindSig x
type family XTyClD x
type family XInstD x
type family XDerivD x
type family XValD x
type family XSigD x
type family XKindSigD x
type family XDefD x
type family XForD x
type family XWarningD x
type family XAnnD x
type family XRuleD x
type family XSpliceD x
type family XDocD x
type family XRoleAnnotD x
type family XXHsDecl x
type family XCHsGroup x
type family XXHsGroup x
type family XSpliceDecl x
type family XXSpliceDecl x
type family XFamDecl x
type family XSynDecl x
type family XDataDecl x
type family XClassDecl x
type family XXTyClDecl x
type family XCFunDep x
type family XXFunDep x
type family XCTyClGroup x
type family XXTyClGroup x
type family XNoSig x
type family XCKindSig x
type family XTyVarSig x
type family XXFamilyResultSig x
type family XCFamilyDecl x
type family XXFamilyDecl x
type family XCHsDataDefn x
type family XXHsDataDefn x
type family XCHsDerivingClause x
type family XXHsDerivingClause x
type family XDctSingle x
type family XDctMulti x
type family XXDerivClauseTys x
type family XConDeclGADT x
type family XConDeclH98 x
type family XXConDecl x
type family XCFamEqn x r
type family XXFamEqn x r
type family XCTyFamInstDecl x
type family XXTyFamInstDecl x
type family XCClsInstDecl x
type family XXClsInstDecl x
type family XClsInstD x
type family XDataFamInstD x
type family XTyFamInstD x
type family XXInstDecl x
type family XCDerivDecl x
type family XXDerivDecl x
type family XStockStrategy x
type family XAnyClassStrategy x
type family XNewtypeStrategy x
type family XViaStrategy x
type family XCDefaultDecl x
type family XXDefaultDecl x
type family XForeignImport x
type family XForeignExport x
type family XXForeignDecl x
type family XCRuleDecls x
type family XXRuleDecls x
type family XHsRule x
type family XXRuleDecl x
type family XCRuleBndr x
type family XRuleBndrSig x
type family XXRuleBndr x
type family XWarnings x
type family XXWarnDecls x
type family XWarning x
type family XXWarnDecl x
type family XHsAnnotation x
type family XXAnnDecl x
type family XCRoleAnnotDecl x
type family XXRoleAnnotDecl x
type family XCInjectivityAnn x
type family XXInjectivityAnn x
type family XVar x
type family XUnboundVar x
type family XRecSel x
type family XOverLabel x
type family XIPVar x
type family XOverLitE x
type family XLitE x
type family XLam x
type family XLamCase x
type family XApp x
type family XAppTypeE x
type family XOpApp x
type family XNegApp x
type family XPar x
type family XSectionL x
type family XSectionR x
type family XExplicitTuple x
type family XExplicitSum x
type family XCase x
type family XIf x
type family XMultiIf x
type family XLet x
type family XDo x
type family XExplicitList x
type family XRecordCon x
type family XRecordUpd x
type family XGetField x
type family XProjection x
type family XExprWithTySig x
type family XArithSeq x
type family XTypedBracket x
type family XUntypedBracket x
type family XSpliceE x
type family XProc x
type family XStatic x
type family XTick x
type family XBinTick x
type family XPragE x
type family XXExpr x
type family XCDotFieldOcc x
type family XXDotFieldOcc x
type family XSCC x
type family XXPragE x
type family XUnambiguous x
type family XAmbiguous x
type family XXAmbiguousFieldOcc x
type family XPresent x
type family XMissing x
type family XXTupArg x
type family XTypedSplice x
type family XUntypedSplice x
type family XQuasiQuote x
type family XSpliced x
type family XXSplice x
type family XExpBr x
type family XPatBr x
type family XDecBrL x
type family XDecBrG x
type family XTypBr x
type family XVarBr x
type family XXQuote x
type family XCmdTop x
type family XXCmdTop x
type family XMG x b
type family XXMatchGroup x b
type family XCMatch x b
type family XXMatch x b
type family XCGRHSs x b
type family XXGRHSs x b
type family XCGRHS x b
type family XXGRHS x b
type family XLastStmt x x' b
type family XBindStmt x x' b
type family XApplicativeStmt x x' b
type family XBodyStmt x x' b
type family XLetStmt x x' b
type family XParStmt x x' b
type family XTransStmt x x' b
type family XRecStmt x x' b
type family XXStmtLR x x' b
type family XCmdArrApp x
type family XCmdArrForm x
type family XCmdApp x
type family XCmdLam x
type family XCmdPar x
type family XCmdCase x
type family XCmdLamCase x
type family XCmdIf x
type family XCmdLet x
type family XCmdDo x
type family XCmdWrap x
type family XXCmd x
type family XParStmtBlock x x'
type family XXParStmtBlock x x'
type family XApplicativeArgOne x
type family XApplicativeArgMany x
type family XXApplicativeArg x
type family XHsChar x
type family XHsCharPrim x
type family XHsString x
type family XHsStringPrim x
type family XHsInt x
type family XHsIntPrim x
type family XHsWordPrim x
type family XHsInt64Prim x
type family XHsWord64Prim x
type family XHsInteger x
type family XHsRat x
type family XHsFloatPrim x
type family XHsDoublePrim x
type family XXLit x
type family XOverLit x
type family XXOverLit x
type family XWildPat x
type family XVarPat x
type family XLazyPat x
type family XAsPat x
type family XParPat x
type family XBangPat x
type family XListPat x
type family XTuplePat x
type family XSumPat x
type family XConPat x
type family XViewPat x
type family XSplicePat x
type family XLitPat x
type family XNPat x
type family XNPlusKPat x
type family XSigPat x
type family XCoPat x
type family XXPat x
type family XHsFieldBind x
type family XHsQTvs x
type family XXLHsQTyVars x
type family XHsOuterImplicit x
type family XHsOuterExplicit x flag
type family XXHsOuterTyVarBndrs x
type family XHsSig x
type family XXHsSigType x
type family XHsWC x b
type family XXHsWildCardBndrs x b
type family XHsPS x
type family XXHsPatSigType x
type family XForAllTy x
type family XQualTy x
type family XTyVar x
type family XAppTy x
type family XAppKindTy x
type family XFunTy x
type family XListTy x
type family XTupleTy x
type family XSumTy x
type family XOpTy x
type family XParTy x
type family XIParamTy x
type family XStarTy x
type family XKindSig x
type family XSpliceTy x
type family XDocTy x
type family XBangTy x
type family XRecTy x
type family XExplicitListTy x
type family XExplicitTupleTy x
type family XTyLit x
type family XWildCardTy x
type family XXType x
type family XHsForAllVis x
type family XHsForAllInvis x
type family XXHsForAllTelescope x
type family XUserTyVar x
type family XKindedTyVar x
type family XXTyVarBndr x
type family XConDeclField x
type family XXConDeclField x
type family XCFieldOcc x
type family XXFieldOcc x
type family XCImportDecl x
type family XXImportDecl x
type family XIEVar x
type family XIEThingAbs x
type family XIEThingAll x
type family XIEThingWith x
type family XIEModuleContents x
type family XIEGroup x
type family XIEDoc x
type family XIEDocNamed x
type family XXIE x
type family NoGhcTc (p :: Type)
type LHsToken tok p = XRec p (HsToken tok)
data HsToken (tok :: Symbol) = HsTok
deriving instance KnownSymbol tok => Data (HsToken tok)
type LHsUniToken tok utok p = XRec p (HsUniToken tok utok)
data HsUniToken (tok :: Symbol) (utok :: Symbol) = HsNormalTok | HsUnicodeTok
deriving instance (KnownSymbol tok, KnownSymbol utok) => Data (HsUniToken tok utok)