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