{-# LANGUAGE DeriveDataTypeable #-} {- | Module : ./THF/Cons.hs Description : A collection of data-structures, functions and instances for the THF modules. Copyright : (c) A. Tsogias, DFKI Bremen 2011 License : GPLv2 or higher, see LICENSE.txt Maintainer : Alexis.Tsogias@dfki.de Stability : provisional Portability : portable Data structures and functions used in Logic_THF and HasCASL2THF. Note: Some of the implenentations depend on the THF0 Syntax. -} module THF.Cons where import THF.As import Common.Id import Data.Data -- Some empty instances {- ----------------------------------------------------------------------------- BasicSpecTHF ----------------------------------------------------------------------------- -} data BasicSpecTHF = BasicSpecTHF [TPTP_THF] deriving (Int -> BasicSpecTHF -> ShowS [BasicSpecTHF] -> ShowS BasicSpecTHF -> String (Int -> BasicSpecTHF -> ShowS) -> (BasicSpecTHF -> String) -> ([BasicSpecTHF] -> ShowS) -> Show BasicSpecTHF forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [BasicSpecTHF] -> ShowS $cshowList :: [BasicSpecTHF] -> ShowS show :: BasicSpecTHF -> String $cshow :: BasicSpecTHF -> String showsPrec :: Int -> BasicSpecTHF -> ShowS $cshowsPrec :: Int -> BasicSpecTHF -> ShowS Show, BasicSpecTHF -> BasicSpecTHF -> Bool (BasicSpecTHF -> BasicSpecTHF -> Bool) -> (BasicSpecTHF -> BasicSpecTHF -> Bool) -> Eq BasicSpecTHF forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: BasicSpecTHF -> BasicSpecTHF -> Bool $c/= :: BasicSpecTHF -> BasicSpecTHF -> Bool == :: BasicSpecTHF -> BasicSpecTHF -> Bool $c== :: BasicSpecTHF -> BasicSpecTHF -> Bool Eq, Eq BasicSpecTHF Eq BasicSpecTHF => (BasicSpecTHF -> BasicSpecTHF -> Ordering) -> (BasicSpecTHF -> BasicSpecTHF -> Bool) -> (BasicSpecTHF -> BasicSpecTHF -> Bool) -> (BasicSpecTHF -> BasicSpecTHF -> Bool) -> (BasicSpecTHF -> BasicSpecTHF -> Bool) -> (BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF) -> (BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF) -> Ord BasicSpecTHF BasicSpecTHF -> BasicSpecTHF -> Bool BasicSpecTHF -> BasicSpecTHF -> Ordering BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF 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 min :: BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF $cmin :: BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF max :: BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF $cmax :: BasicSpecTHF -> BasicSpecTHF -> BasicSpecTHF >= :: BasicSpecTHF -> BasicSpecTHF -> Bool $c>= :: BasicSpecTHF -> BasicSpecTHF -> Bool > :: BasicSpecTHF -> BasicSpecTHF -> Bool $c> :: BasicSpecTHF -> BasicSpecTHF -> Bool <= :: BasicSpecTHF -> BasicSpecTHF -> Bool $c<= :: BasicSpecTHF -> BasicSpecTHF -> Bool < :: BasicSpecTHF -> BasicSpecTHF -> Bool $c< :: BasicSpecTHF -> BasicSpecTHF -> Bool compare :: BasicSpecTHF -> BasicSpecTHF -> Ordering $ccompare :: BasicSpecTHF -> BasicSpecTHF -> Ordering $cp1Ord :: Eq BasicSpecTHF Ord, Typeable, Typeable BasicSpecTHF Constr DataType Typeable BasicSpecTHF => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BasicSpecTHF -> c BasicSpecTHF) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BasicSpecTHF) -> (BasicSpecTHF -> Constr) -> (BasicSpecTHF -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BasicSpecTHF)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BasicSpecTHF)) -> ((forall b. Data b => b -> b) -> BasicSpecTHF -> BasicSpecTHF) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r) -> (forall u. (forall d. Data d => d -> u) -> BasicSpecTHF -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> BasicSpecTHF -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF) -> Data BasicSpecTHF BasicSpecTHF -> Constr BasicSpecTHF -> DataType (forall b. Data b => b -> b) -> BasicSpecTHF -> BasicSpecTHF (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BasicSpecTHF -> c BasicSpecTHF (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BasicSpecTHF 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) -> BasicSpecTHF -> u forall u. (forall d. Data d => d -> u) -> BasicSpecTHF -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BasicSpecTHF forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BasicSpecTHF -> c BasicSpecTHF forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BasicSpecTHF) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BasicSpecTHF) $cBasicSpecTHF :: Constr $tBasicSpecTHF :: DataType gmapMo :: (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF gmapMp :: (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF gmapM :: (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> BasicSpecTHF -> m BasicSpecTHF gmapQi :: Int -> (forall d. Data d => d -> u) -> BasicSpecTHF -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BasicSpecTHF -> u gmapQ :: (forall d. Data d => d -> u) -> BasicSpecTHF -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> BasicSpecTHF -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BasicSpecTHF -> r gmapT :: (forall b. Data b => b -> b) -> BasicSpecTHF -> BasicSpecTHF $cgmapT :: (forall b. Data b => b -> b) -> BasicSpecTHF -> BasicSpecTHF dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BasicSpecTHF) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BasicSpecTHF) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c BasicSpecTHF) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BasicSpecTHF) dataTypeOf :: BasicSpecTHF -> DataType $cdataTypeOf :: BasicSpecTHF -> DataType toConstr :: BasicSpecTHF -> Constr $ctoConstr :: BasicSpecTHF -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BasicSpecTHF $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BasicSpecTHF gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BasicSpecTHF -> c BasicSpecTHF $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BasicSpecTHF -> c BasicSpecTHF $cp1Data :: Typeable BasicSpecTHF Data) instance GetRange BasicSpecTHF {- ----------------------------------------------------------------------------- SymbolTHF ----------------------------------------------------------------------------- -} data SymbolTHF = Symbol { SymbolTHF -> Constant symId :: Constant , SymbolTHF -> Name symName :: Name , SymbolTHF -> SymbolType symType :: SymbolType } deriving (Int -> SymbolTHF -> ShowS [SymbolTHF] -> ShowS SymbolTHF -> String (Int -> SymbolTHF -> ShowS) -> (SymbolTHF -> String) -> ([SymbolTHF] -> ShowS) -> Show SymbolTHF forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [SymbolTHF] -> ShowS $cshowList :: [SymbolTHF] -> ShowS show :: SymbolTHF -> String $cshow :: SymbolTHF -> String showsPrec :: Int -> SymbolTHF -> ShowS $cshowsPrec :: Int -> SymbolTHF -> ShowS Show, SymbolTHF -> SymbolTHF -> Bool (SymbolTHF -> SymbolTHF -> Bool) -> (SymbolTHF -> SymbolTHF -> Bool) -> Eq SymbolTHF forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: SymbolTHF -> SymbolTHF -> Bool $c/= :: SymbolTHF -> SymbolTHF -> Bool == :: SymbolTHF -> SymbolTHF -> Bool $c== :: SymbolTHF -> SymbolTHF -> Bool Eq, Eq SymbolTHF Eq SymbolTHF => (SymbolTHF -> SymbolTHF -> Ordering) -> (SymbolTHF -> SymbolTHF -> Bool) -> (SymbolTHF -> SymbolTHF -> Bool) -> (SymbolTHF -> SymbolTHF -> Bool) -> (SymbolTHF -> SymbolTHF -> Bool) -> (SymbolTHF -> SymbolTHF -> SymbolTHF) -> (SymbolTHF -> SymbolTHF -> SymbolTHF) -> Ord SymbolTHF SymbolTHF -> SymbolTHF -> Bool SymbolTHF -> SymbolTHF -> Ordering SymbolTHF -> SymbolTHF -> SymbolTHF 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 min :: SymbolTHF -> SymbolTHF -> SymbolTHF $cmin :: SymbolTHF -> SymbolTHF -> SymbolTHF max :: SymbolTHF -> SymbolTHF -> SymbolTHF $cmax :: SymbolTHF -> SymbolTHF -> SymbolTHF >= :: SymbolTHF -> SymbolTHF -> Bool $c>= :: SymbolTHF -> SymbolTHF -> Bool > :: SymbolTHF -> SymbolTHF -> Bool $c> :: SymbolTHF -> SymbolTHF -> Bool <= :: SymbolTHF -> SymbolTHF -> Bool $c<= :: SymbolTHF -> SymbolTHF -> Bool < :: SymbolTHF -> SymbolTHF -> Bool $c< :: SymbolTHF -> SymbolTHF -> Bool compare :: SymbolTHF -> SymbolTHF -> Ordering $ccompare :: SymbolTHF -> SymbolTHF -> Ordering $cp1Ord :: Eq SymbolTHF Ord, Typeable, Typeable SymbolTHF Constr DataType Typeable SymbolTHF => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolTHF -> c SymbolTHF) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolTHF) -> (SymbolTHF -> Constr) -> (SymbolTHF -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolTHF)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolTHF)) -> ((forall b. Data b => b -> b) -> SymbolTHF -> SymbolTHF) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r) -> (forall u. (forall d. Data d => d -> u) -> SymbolTHF -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> SymbolTHF -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF) -> Data SymbolTHF SymbolTHF -> Constr SymbolTHF -> DataType (forall b. Data b => b -> b) -> SymbolTHF -> SymbolTHF (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolTHF -> c SymbolTHF (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolTHF 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) -> SymbolTHF -> u forall u. (forall d. Data d => d -> u) -> SymbolTHF -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolTHF forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolTHF -> c SymbolTHF forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolTHF) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolTHF) $cSymbol :: Constr $tSymbolTHF :: DataType gmapMo :: (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF gmapMp :: (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF gmapM :: (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolTHF -> m SymbolTHF gmapQi :: Int -> (forall d. Data d => d -> u) -> SymbolTHF -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> SymbolTHF -> u gmapQ :: (forall d. Data d => d -> u) -> SymbolTHF -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> SymbolTHF -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolTHF -> r gmapT :: (forall b. Data b => b -> b) -> SymbolTHF -> SymbolTHF $cgmapT :: (forall b. Data b => b -> b) -> SymbolTHF -> SymbolTHF dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolTHF) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolTHF) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c SymbolTHF) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolTHF) dataTypeOf :: SymbolTHF -> DataType $cdataTypeOf :: SymbolTHF -> DataType toConstr :: SymbolTHF -> Constr $ctoConstr :: SymbolTHF -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolTHF $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolTHF gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolTHF -> c SymbolTHF $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolTHF -> c SymbolTHF $cp1Data :: Typeable SymbolTHF Data) instance GetRange SymbolTHF data SymbolType = ST_Const Type | ST_Type Kind deriving (Int -> SymbolType -> ShowS [SymbolType] -> ShowS SymbolType -> String (Int -> SymbolType -> ShowS) -> (SymbolType -> String) -> ([SymbolType] -> ShowS) -> Show SymbolType forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [SymbolType] -> ShowS $cshowList :: [SymbolType] -> ShowS show :: SymbolType -> String $cshow :: SymbolType -> String showsPrec :: Int -> SymbolType -> ShowS $cshowsPrec :: Int -> SymbolType -> ShowS Show, SymbolType -> SymbolType -> Bool (SymbolType -> SymbolType -> Bool) -> (SymbolType -> SymbolType -> Bool) -> Eq SymbolType forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: SymbolType -> SymbolType -> Bool $c/= :: SymbolType -> SymbolType -> Bool == :: SymbolType -> SymbolType -> Bool $c== :: SymbolType -> SymbolType -> Bool Eq, Eq SymbolType Eq SymbolType => (SymbolType -> SymbolType -> Ordering) -> (SymbolType -> SymbolType -> Bool) -> (SymbolType -> SymbolType -> Bool) -> (SymbolType -> SymbolType -> Bool) -> (SymbolType -> SymbolType -> Bool) -> (SymbolType -> SymbolType -> SymbolType) -> (SymbolType -> SymbolType -> SymbolType) -> Ord SymbolType SymbolType -> SymbolType -> Bool SymbolType -> SymbolType -> Ordering SymbolType -> SymbolType -> SymbolType 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 min :: SymbolType -> SymbolType -> SymbolType $cmin :: SymbolType -> SymbolType -> SymbolType max :: SymbolType -> SymbolType -> SymbolType $cmax :: SymbolType -> SymbolType -> SymbolType >= :: SymbolType -> SymbolType -> Bool $c>= :: SymbolType -> SymbolType -> Bool > :: SymbolType -> SymbolType -> Bool $c> :: SymbolType -> SymbolType -> Bool <= :: SymbolType -> SymbolType -> Bool $c<= :: SymbolType -> SymbolType -> Bool < :: SymbolType -> SymbolType -> Bool $c< :: SymbolType -> SymbolType -> Bool compare :: SymbolType -> SymbolType -> Ordering $ccompare :: SymbolType -> SymbolType -> Ordering $cp1Ord :: Eq SymbolType Ord, Typeable, Typeable SymbolType Constr DataType Typeable SymbolType => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolType -> c SymbolType) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolType) -> (SymbolType -> Constr) -> (SymbolType -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolType)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolType)) -> ((forall b. Data b => b -> b) -> SymbolType -> SymbolType) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r) -> (forall u. (forall d. Data d => d -> u) -> SymbolType -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> SymbolType -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType) -> Data SymbolType SymbolType -> Constr SymbolType -> DataType (forall b. Data b => b -> b) -> SymbolType -> SymbolType (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolType -> c SymbolType (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolType 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) -> SymbolType -> u forall u. (forall d. Data d => d -> u) -> SymbolType -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolType forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolType -> c SymbolType forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolType) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolType) $cST_Type :: Constr $cST_Const :: Constr $tSymbolType :: DataType gmapMo :: (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType gmapMp :: (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType gmapM :: (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> SymbolType -> m SymbolType gmapQi :: Int -> (forall d. Data d => d -> u) -> SymbolType -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> SymbolType -> u gmapQ :: (forall d. Data d => d -> u) -> SymbolType -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> SymbolType -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolType -> r gmapT :: (forall b. Data b => b -> b) -> SymbolType -> SymbolType $cgmapT :: (forall b. Data b => b -> b) -> SymbolType -> SymbolType dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolType) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SymbolType) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c SymbolType) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SymbolType) dataTypeOf :: SymbolType -> DataType $cdataTypeOf :: SymbolType -> DataType toConstr :: SymbolType -> Constr $ctoConstr :: SymbolType -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolType $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SymbolType gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolType -> c SymbolType $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolType -> c SymbolType $cp1Data :: Typeable SymbolType Data) data Type = TType | OType | IType | MapType Type Type | ProdType [Type] | CType Constant | SType Token | VType Token | ParType Type deriving (Int -> Type -> ShowS [Type] -> ShowS Type -> String (Int -> Type -> ShowS) -> (Type -> String) -> ([Type] -> ShowS) -> Show Type forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Type] -> ShowS $cshowList :: [Type] -> ShowS show :: Type -> String $cshow :: Type -> String showsPrec :: Int -> Type -> ShowS $cshowsPrec :: Int -> Type -> ShowS Show, Type -> Type -> Bool (Type -> Type -> Bool) -> (Type -> Type -> Bool) -> Eq Type forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Type -> Type -> Bool $c/= :: Type -> Type -> Bool == :: Type -> Type -> Bool $c== :: Type -> Type -> Bool Eq, Eq Type Eq Type => (Type -> Type -> Ordering) -> (Type -> Type -> Bool) -> (Type -> Type -> Bool) -> (Type -> Type -> Bool) -> (Type -> Type -> Bool) -> (Type -> Type -> Type) -> (Type -> Type -> Type) -> Ord Type Type -> Type -> Bool Type -> Type -> Ordering Type -> Type -> Type 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 min :: Type -> Type -> Type $cmin :: Type -> Type -> Type max :: Type -> Type -> Type $cmax :: Type -> Type -> Type >= :: Type -> Type -> Bool $c>= :: Type -> Type -> Bool > :: Type -> Type -> Bool $c> :: Type -> Type -> Bool <= :: Type -> Type -> Bool $c<= :: Type -> Type -> Bool < :: Type -> Type -> Bool $c< :: Type -> Type -> Bool compare :: Type -> Type -> Ordering $ccompare :: Type -> Type -> Ordering $cp1Ord :: Eq Type Ord, Typeable, Typeable Type Constr DataType Typeable Type => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type) -> (Type -> Constr) -> (Type -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type)) -> ((forall b. Data b => b -> b) -> Type -> Type) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r) -> (forall u. (forall d. Data d => d -> u) -> Type -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Type -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Type -> m Type) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type) -> Data Type Type -> Constr Type -> DataType (forall b. Data b => b -> b) -> Type -> Type (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type 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) -> Type -> u forall u. (forall d. Data d => d -> u) -> Type -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Type -> m Type forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) $cParType :: Constr $cVType :: Constr $cSType :: Constr $cCType :: Constr $cProdType :: Constr $cMapType :: Constr $cIType :: Constr $cOType :: Constr $cTType :: Constr $tType :: DataType gmapMo :: (forall d. Data d => d -> m d) -> Type -> m Type $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type gmapMp :: (forall d. Data d => d -> m d) -> Type -> m Type $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type gmapM :: (forall d. Data d => d -> m d) -> Type -> m Type $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Type -> m Type gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Type -> u gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Type -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r gmapT :: (forall b. Data b => b -> b) -> Type -> Type $cgmapT :: (forall b. Data b => b -> b) -> Type -> Type dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Type) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) dataTypeOf :: Type -> DataType $cdataTypeOf :: Type -> DataType toConstr :: Type -> Constr $ctoConstr :: Type -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type $cp1Data :: Typeable Type Data) data Kind = Kind deriving (Int -> Kind -> ShowS [Kind] -> ShowS Kind -> String (Int -> Kind -> ShowS) -> (Kind -> String) -> ([Kind] -> ShowS) -> Show Kind forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Kind] -> ShowS $cshowList :: [Kind] -> ShowS show :: Kind -> String $cshow :: Kind -> String showsPrec :: Int -> Kind -> ShowS $cshowsPrec :: Int -> Kind -> ShowS Show, Kind -> Kind -> Bool (Kind -> Kind -> Bool) -> (Kind -> Kind -> Bool) -> Eq Kind forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Kind -> Kind -> Bool $c/= :: Kind -> Kind -> Bool == :: Kind -> Kind -> Bool $c== :: Kind -> Kind -> Bool Eq, Eq Kind Eq Kind => (Kind -> Kind -> Ordering) -> (Kind -> Kind -> Bool) -> (Kind -> Kind -> Bool) -> (Kind -> Kind -> Bool) -> (Kind -> Kind -> Bool) -> (Kind -> Kind -> Kind) -> (Kind -> Kind -> Kind) -> Ord Kind Kind -> Kind -> Bool Kind -> Kind -> Ordering Kind -> Kind -> Kind 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 min :: Kind -> Kind -> Kind $cmin :: Kind -> Kind -> Kind max :: Kind -> Kind -> Kind $cmax :: Kind -> Kind -> Kind >= :: Kind -> Kind -> Bool $c>= :: Kind -> Kind -> Bool > :: Kind -> Kind -> Bool $c> :: Kind -> Kind -> Bool <= :: Kind -> Kind -> Bool $c<= :: Kind -> Kind -> Bool < :: Kind -> Kind -> Bool $c< :: Kind -> Kind -> Bool compare :: Kind -> Kind -> Ordering $ccompare :: Kind -> Kind -> Ordering $cp1Ord :: Eq Kind Ord, Typeable, Typeable Kind Constr DataType Typeable Kind => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Kind -> c Kind) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Kind) -> (Kind -> Constr) -> (Kind -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Kind)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Kind)) -> ((forall b. Data b => b -> b) -> Kind -> Kind) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r) -> (forall u. (forall d. Data d => d -> u) -> Kind -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Kind -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Kind -> m Kind) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Kind -> m Kind) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Kind -> m Kind) -> Data Kind Kind -> Constr Kind -> DataType (forall b. Data b => b -> b) -> Kind -> Kind (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Kind -> c Kind (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Kind 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) -> Kind -> u forall u. (forall d. Data d => d -> u) -> Kind -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Kind -> m Kind forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Kind -> m Kind forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Kind forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Kind -> c Kind forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Kind) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Kind) $cKind :: Constr $tKind :: DataType gmapMo :: (forall d. Data d => d -> m d) -> Kind -> m Kind $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Kind -> m Kind gmapMp :: (forall d. Data d => d -> m d) -> Kind -> m Kind $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Kind -> m Kind gmapM :: (forall d. Data d => d -> m d) -> Kind -> m Kind $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Kind -> m Kind gmapQi :: Int -> (forall d. Data d => d -> u) -> Kind -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Kind -> u gmapQ :: (forall d. Data d => d -> u) -> Kind -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Kind -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Kind -> r gmapT :: (forall b. Data b => b -> b) -> Kind -> Kind $cgmapT :: (forall b. Data b => b -> b) -> Kind -> Kind dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Kind) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Kind) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Kind) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Kind) dataTypeOf :: Kind -> DataType $cdataTypeOf :: Kind -> DataType toConstr :: Kind -> Constr $ctoConstr :: Kind -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Kind $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Kind gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Kind -> c Kind $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Kind -> c Kind $cp1Data :: Typeable Kind Data)