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