{-# LANGUAGE DeriveDataTypeable #-} module Burrito.Internal.Type.Token ( Token (..), ) where import qualified Burrito.Internal.Type.Expression as Expression import qualified Burrito.Internal.Type.Literal as Literal import qualified Data.Data as Data data Token = Expression Expression.Expression | Literal Literal.Literal deriving (Typeable Token Typeable Token => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token) -> (Token -> Constr) -> (Token -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token)) -> ((forall b. Data b => b -> b) -> Token -> Token) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r) -> (forall u. (forall d. Data d => d -> u) -> Token -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Token -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Token -> m Token) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token) -> Data Token Token -> Constr Token -> DataType (forall b. Data b => b -> b) -> Token -> Token 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) -> Token -> u forall u. (forall d. Data d => d -> u) -> Token -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Token -> m Token forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token) $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token $ctoConstr :: Token -> Constr toConstr :: Token -> Constr $cdataTypeOf :: Token -> DataType dataTypeOf :: Token -> DataType $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token) dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token) $cgmapT :: (forall b. Data b => b -> b) -> Token -> Token gmapT :: (forall b. Data b => b -> b) -> Token -> Token $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Token -> [u] gmapQ :: forall u. (forall d. Data d => d -> u) -> Token -> [u] $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Token -> u gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Token -> u $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Token -> m Token gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Token -> m Token $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token Data.Data, Token -> Token -> Bool (Token -> Token -> Bool) -> (Token -> Token -> Bool) -> Eq Token forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Token -> Token -> Bool == :: Token -> Token -> Bool $c/= :: Token -> Token -> Bool /= :: Token -> Token -> Bool Eq, Eq Token Eq Token => (Token -> Token -> Ordering) -> (Token -> Token -> Bool) -> (Token -> Token -> Bool) -> (Token -> Token -> Bool) -> (Token -> Token -> Bool) -> (Token -> Token -> Token) -> (Token -> Token -> Token) -> Ord Token Token -> Token -> Bool Token -> Token -> Ordering Token -> Token -> Token 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 :: Token -> Token -> Ordering compare :: Token -> Token -> Ordering $c< :: Token -> Token -> Bool < :: Token -> Token -> Bool $c<= :: Token -> Token -> Bool <= :: Token -> Token -> Bool $c> :: Token -> Token -> Bool > :: Token -> Token -> Bool $c>= :: Token -> Token -> Bool >= :: Token -> Token -> Bool $cmax :: Token -> Token -> Token max :: Token -> Token -> Token $cmin :: Token -> Token -> Token min :: Token -> Token -> Token Ord, Int -> Token -> ShowS [Token] -> ShowS Token -> String (Int -> Token -> ShowS) -> (Token -> String) -> ([Token] -> ShowS) -> Show Token forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Token -> ShowS showsPrec :: Int -> Token -> ShowS $cshow :: Token -> String show :: Token -> String $cshowList :: [Token] -> ShowS showList :: [Token] -> ShowS Show)