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