gtvm-hs-1.0.0: Various tools for reversing and using assets from Golden Time: Vivid Memories.
Safe HaskellNone
LanguageGHC2021

GTVM.SCP.TL

Description

We need sum types if we want to handle everything in one place. CSVs don't support sum types. YAML does. And with sum types, we can also generate comments from a source SCP -- to e.g. say when another SCP is loaded.

TODO * Aeson won't ever omit fields for generic parsing or serializing, except in the specific case where you have a concrete Maybe a. To work around that, I need to write a separate, structurally simplified type, which can be used for the JSON, and converted to the more powerful internal data type for operating on.

Synopsis

Documentation

type SCP' = [Seg'] Source #

type SCPTL (f :: Type -> Type) a = [TLSeg f a] Source #

data Env Source #

Constructors

Env 

Fields

Instances

Instances details
Generic Env Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep Env 
Instance details

Defined in GTVM.SCP.TL

type Rep Env = D1 ('MetaData "Env" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "Env" 'PrefixI 'True) (S1 ('MetaSel ('Just "envPendingPlaceholder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "envSpeakerIDMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Natural -> Maybe Text))))

Methods

from :: Env -> Rep Env x #

to :: Rep Env x -> Env #

type Rep Env Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep Env = D1 ('MetaData "Env" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "Env" 'PrefixI 'True) (S1 ('MetaSel ('Just "envPendingPlaceholder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "envSpeakerIDMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Natural -> Maybe Text))))

data TLSeg (f :: Type -> Type) a Source #

Instances

Instances details
Functor f => Functor (TLSeg f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fmap :: (a -> b) -> TLSeg f a -> TLSeg f b #

(<$) :: a -> TLSeg f b -> TLSeg f a #

Foldable f => Foldable (TLSeg f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fold :: Monoid m => TLSeg f m -> m #

foldMap :: Monoid m => (a -> m) -> TLSeg f a -> m #

foldMap' :: Monoid m => (a -> m) -> TLSeg f a -> m #

foldr :: (a -> b -> b) -> b -> TLSeg f a -> b #

foldr' :: (a -> b -> b) -> b -> TLSeg f a -> b #

foldl :: (b -> a -> b) -> b -> TLSeg f a -> b #

foldl' :: (b -> a -> b) -> b -> TLSeg f a -> b #

foldr1 :: (a -> a -> a) -> TLSeg f a -> a #

foldl1 :: (a -> a -> a) -> TLSeg f a -> a #

toList :: TLSeg f a -> [a] #

null :: TLSeg f a -> Bool #

length :: TLSeg f a -> Int #

elem :: Eq a => a -> TLSeg f a -> Bool #

maximum :: Ord a => TLSeg f a -> a #

minimum :: Ord a => TLSeg f a -> a #

sum :: Num a => TLSeg f a -> a #

product :: Num a => TLSeg f a -> a #

Traversable f => Traversable (TLSeg f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

traverse :: Applicative f0 => (a -> f0 b) -> TLSeg f a -> f0 (TLSeg f b) #

sequenceA :: Applicative f0 => TLSeg f (f0 a) -> f0 (TLSeg f a) #

mapM :: Monad m => (a -> m b) -> TLSeg f a -> m (TLSeg f b) #

sequence :: Monad m => TLSeg f (m a) -> m (TLSeg f a) #

(FromJSON (f a), FromJSON a) => FromJSON (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

(ToJSON (f a), ToJSON a) => ToJSON (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

toJSON :: TLSeg f a -> Value #

toEncoding :: TLSeg f a -> Encoding #

toJSONList :: [TLSeg f a] -> Value #

toEncodingList :: [TLSeg f a] -> Encoding #

omitField :: TLSeg f a -> Bool #

Generic (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep (TLSeg f a) 
Instance details

Defined in GTVM.SCP.TL

Methods

from :: TLSeg f a -> Rep (TLSeg f a) x #

to :: Rep (TLSeg f a) x -> TLSeg f a #

(Show (f a), Show a) => Show (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

showsPrec :: Int -> TLSeg f a -> ShowS #

show :: TLSeg f a -> String #

showList :: [TLSeg f a] -> ShowS #

(Eq (f a), Eq a) => Eq (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

(==) :: TLSeg f a -> TLSeg f a -> Bool #

(/=) :: TLSeg f a -> TLSeg f a -> Bool #

type Rep (TLSeg f a) Source # 
Instance details

Defined in GTVM.SCP.TL

data TLSegComment Source #

Instances

Instances details
FromJSON TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

ToJSON TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

Generic TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep TLSegComment 
Instance details

Defined in GTVM.SCP.TL

type Rep TLSegComment = D1 ('MetaData "TLSegComment" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegComment" 'PrefixI 'True) (S1 ('MetaSel ('Just "scpTLCommentCommentary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "scpTLCommentMeta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))))
Show TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

Eq TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep TLSegComment Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep TLSegComment = D1 ('MetaData "TLSegComment" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegComment" 'PrefixI 'True) (S1 ('MetaSel ('Just "scpTLCommentCommentary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "scpTLCommentMeta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))))

data TLSegTextbox (f :: Type -> Type) a Source #

Instances

Instances details
Functor f => Functor (TLSegTextbox f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fmap :: (a -> b) -> TLSegTextbox f a -> TLSegTextbox f b #

(<$) :: a -> TLSegTextbox f b -> TLSegTextbox f a #

Foldable f => Foldable (TLSegTextbox f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fold :: Monoid m => TLSegTextbox f m -> m #

foldMap :: Monoid m => (a -> m) -> TLSegTextbox f a -> m #

foldMap' :: Monoid m => (a -> m) -> TLSegTextbox f a -> m #

foldr :: (a -> b -> b) -> b -> TLSegTextbox f a -> b #

foldr' :: (a -> b -> b) -> b -> TLSegTextbox f a -> b #

foldl :: (b -> a -> b) -> b -> TLSegTextbox f a -> b #

foldl' :: (b -> a -> b) -> b -> TLSegTextbox f a -> b #

foldr1 :: (a -> a -> a) -> TLSegTextbox f a -> a #

foldl1 :: (a -> a -> a) -> TLSegTextbox f a -> a #

toList :: TLSegTextbox f a -> [a] #

null :: TLSegTextbox f a -> Bool #

length :: TLSegTextbox f a -> Int #

elem :: Eq a => a -> TLSegTextbox f a -> Bool #

maximum :: Ord a => TLSegTextbox f a -> a #

minimum :: Ord a => TLSegTextbox f a -> a #

sum :: Num a => TLSegTextbox f a -> a #

product :: Num a => TLSegTextbox f a -> a #

Traversable f => Traversable (TLSegTextbox f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

traverse :: Applicative f0 => (a -> f0 b) -> TLSegTextbox f a -> f0 (TLSegTextbox f b) #

sequenceA :: Applicative f0 => TLSegTextbox f (f0 a) -> f0 (TLSegTextbox f a) #

mapM :: Monad m => (a -> m b) -> TLSegTextbox f a -> m (TLSegTextbox f b) #

sequence :: Monad m => TLSegTextbox f (m a) -> m (TLSegTextbox f a) #

(FromJSON (f a), FromJSON a) => FromJSON (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

(ToJSON (f a), ToJSON a) => ToJSON (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Generic (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep (TLSegTextbox f a) 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSegTextbox f a) = D1 ('MetaData "TLSegTextbox" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegTextbox" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSegTextboxSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: (S1 ('MetaSel ('Just "tlSegTextboxTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tlSegTextboxOverflow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a)))))

Methods

from :: TLSegTextbox f a -> Rep (TLSegTextbox f a) x #

to :: Rep (TLSegTextbox f a) x -> TLSegTextbox f a #

(Show (f a), Show a) => Show (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

(Eq (f a), Eq a) => Eq (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

(==) :: TLSegTextbox f a -> TLSegTextbox f a -> Bool #

(/=) :: TLSegTextbox f a -> TLSegTextbox f a -> Bool #

type Rep (TLSegTextbox f a) Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSegTextbox f a) = D1 ('MetaData "TLSegTextbox" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegTextbox" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSegTextboxSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: (S1 ('MetaSel ('Just "tlSegTextboxTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tlSegTextboxOverflow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a)))))

data TLSegChoice (f :: Type -> Type) a Source #

Constructors

TLSegChoice 

Instances

Instances details
Functor f => Functor (TLSegChoice f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fmap :: (a -> b) -> TLSegChoice f a -> TLSegChoice f b #

(<$) :: a -> TLSegChoice f b -> TLSegChoice f a #

Foldable f => Foldable (TLSegChoice f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fold :: Monoid m => TLSegChoice f m -> m #

foldMap :: Monoid m => (a -> m) -> TLSegChoice f a -> m #

foldMap' :: Monoid m => (a -> m) -> TLSegChoice f a -> m #

foldr :: (a -> b -> b) -> b -> TLSegChoice f a -> b #

foldr' :: (a -> b -> b) -> b -> TLSegChoice f a -> b #

foldl :: (b -> a -> b) -> b -> TLSegChoice f a -> b #

foldl' :: (b -> a -> b) -> b -> TLSegChoice f a -> b #

foldr1 :: (a -> a -> a) -> TLSegChoice f a -> a #

foldl1 :: (a -> a -> a) -> TLSegChoice f a -> a #

toList :: TLSegChoice f a -> [a] #

null :: TLSegChoice f a -> Bool #

length :: TLSegChoice f a -> Int #

elem :: Eq a => a -> TLSegChoice f a -> Bool #

maximum :: Ord a => TLSegChoice f a -> a #

minimum :: Ord a => TLSegChoice f a -> a #

sum :: Num a => TLSegChoice f a -> a #

product :: Num a => TLSegChoice f a -> a #

Traversable f => Traversable (TLSegChoice f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

traverse :: Applicative f0 => (a -> f0 b) -> TLSegChoice f a -> f0 (TLSegChoice f b) #

sequenceA :: Applicative f0 => TLSegChoice f (f0 a) -> f0 (TLSegChoice f a) #

mapM :: Monad m => (a -> m b) -> TLSegChoice f a -> m (TLSegChoice f b) #

sequence :: Monad m => TLSegChoice f (m a) -> m (TLSegChoice f a) #

(FromJSON (f a), FromJSON a) => FromJSON (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

(ToJSON (f a), ToJSON a) => ToJSON (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Generic (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep (TLSegChoice f a) 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSegChoice f a) = D1 ('MetaData "TLSegChoice" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegChoice" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSegChoiceSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: S1 ('MetaSel ('Just "tlSegChoiceTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: TLSegChoice f a -> Rep (TLSegChoice f a) x #

to :: Rep (TLSegChoice f a) x -> TLSegChoice f a #

(Show (f a), Show a) => Show (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

showsPrec :: Int -> TLSegChoice f a -> ShowS #

show :: TLSegChoice f a -> String #

showList :: [TLSegChoice f a] -> ShowS #

(Eq (f a), Eq a) => Eq (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

(==) :: TLSegChoice f a -> TLSegChoice f a -> Bool #

(/=) :: TLSegChoice f a -> TLSegChoice f a -> Bool #

type Rep (TLSegChoice f a) Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSegChoice f a) = D1 ('MetaData "TLSegChoice" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSegChoice" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSegChoiceSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: S1 ('MetaSel ('Just "tlSegChoiceTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data TLSeg22 (f :: Type -> Type) a Source #

Instances

Instances details
Functor f => Functor (TLSeg22 f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fmap :: (a -> b) -> TLSeg22 f a -> TLSeg22 f b #

(<$) :: a -> TLSeg22 f b -> TLSeg22 f a #

Foldable f => Foldable (TLSeg22 f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

fold :: Monoid m => TLSeg22 f m -> m #

foldMap :: Monoid m => (a -> m) -> TLSeg22 f a -> m #

foldMap' :: Monoid m => (a -> m) -> TLSeg22 f a -> m #

foldr :: (a -> b -> b) -> b -> TLSeg22 f a -> b #

foldr' :: (a -> b -> b) -> b -> TLSeg22 f a -> b #

foldl :: (b -> a -> b) -> b -> TLSeg22 f a -> b #

foldl' :: (b -> a -> b) -> b -> TLSeg22 f a -> b #

foldr1 :: (a -> a -> a) -> TLSeg22 f a -> a #

foldl1 :: (a -> a -> a) -> TLSeg22 f a -> a #

toList :: TLSeg22 f a -> [a] #

null :: TLSeg22 f a -> Bool #

length :: TLSeg22 f a -> Int #

elem :: Eq a => a -> TLSeg22 f a -> Bool #

maximum :: Ord a => TLSeg22 f a -> a #

minimum :: Ord a => TLSeg22 f a -> a #

sum :: Num a => TLSeg22 f a -> a #

product :: Num a => TLSeg22 f a -> a #

Traversable f => Traversable (TLSeg22 f) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

traverse :: Applicative f0 => (a -> f0 b) -> TLSeg22 f a -> f0 (TLSeg22 f b) #

sequenceA :: Applicative f0 => TLSeg22 f (f0 a) -> f0 (TLSeg22 f a) #

mapM :: Monad m => (a -> m b) -> TLSeg22 f a -> m (TLSeg22 f b) #

sequence :: Monad m => TLSeg22 f (m a) -> m (TLSeg22 f a) #

(FromJSON (f a), FromJSON a) => FromJSON (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

(ToJSON (f a), ToJSON a) => ToJSON (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Generic (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep (TLSeg22 f a) 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSeg22 f a) = D1 ('MetaData "TLSeg22" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSeg22" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSeg22TopicSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: (S1 ('MetaSel ('Just "tlSeg22TopicTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tlSeg22Choices") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TLSegChoice f a]))))

Methods

from :: TLSeg22 f a -> Rep (TLSeg22 f a) x #

to :: Rep (TLSeg22 f a) x -> TLSeg22 f a #

(Show (f a), Show a) => Show (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

showsPrec :: Int -> TLSeg22 f a -> ShowS #

show :: TLSeg22 f a -> String #

showList :: [TLSeg22 f a] -> ShowS #

(Eq (f a), Eq a) => Eq (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

(==) :: TLSeg22 f a -> TLSeg22 f a -> Bool #

(/=) :: TLSeg22 f a -> TLSeg22 f a -> Bool #

type Rep (TLSeg22 f a) Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep (TLSeg22 f a) = D1 ('MetaData "TLSeg22" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) (C1 ('MetaCons "TLSeg22" 'PrefixI 'True) (S1 ('MetaSel ('Just "tlSeg22TopicSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: (S1 ('MetaSel ('Just "tlSeg22TopicTranslation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "tlSeg22Choices") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TLSegChoice f a]))))

meta :: forall (c :: Type -> Type) s. [Text] -> [(Text, Text)] -> TLSeg c s Source #

data Error Source #

Instances

Instances details
Generic Error Source # 
Instance details

Defined in GTVM.SCP.TL

Associated Types

type Rep Error 
Instance details

Defined in GTVM.SCP.TL

type Rep Error = D1 ('MetaData "Error" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) ((C1 ('MetaCons "ErrorTLSegOverlong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ErrorSourceMismatch" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ErrorTLSegTooShort" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ErrorTypeMismatch" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ErrorUnimplemented" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: Error -> Rep Error x #

to :: Rep Error x -> Error #

Show Error Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

showsPrec :: Int -> Error -> ShowS #

show :: Error -> String #

showList :: [Error] -> ShowS #

Eq Error Source # 
Instance details

Defined in GTVM.SCP.TL

Methods

(==) :: Error -> Error -> Bool #

(/=) :: Error -> Error -> Bool #

type Rep Error Source # 
Instance details

Defined in GTVM.SCP.TL

type Rep Error = D1 ('MetaData "Error" "GTVM.SCP.TL" "gtvm-hs-1.0.0-inplace" 'False) ((C1 ('MetaCons "ErrorTLSegOverlong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ErrorSourceMismatch" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ErrorTLSegTooShort" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ErrorTypeMismatch" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ErrorUnimplemented" 'PrefixI 'False) (U1 :: Type -> Type))))

skipToNextTL :: forall (c :: Type -> Type) a. [TLSeg c a] -> [TLSeg c a] Source #

tryExtractTextbox :: forall (c :: Type -> Type) a. TLSeg c a -> Maybe (TLSegTextbox c a) Source #

tryExtractChoice :: forall (c :: Type -> Type) a. TLSeg c a -> Maybe [TLSegChoice c a] Source #

tryExtract22 :: forall (c :: Type -> Type) a. TLSeg c a -> Maybe (TLSeg22 c a) Source #

tryExtract35 :: forall (c :: Type -> Type) a. TLSeg c a -> Maybe (TLSegChoice c a) Source #

traverseM :: (Traversable t, Applicative f, Monad m) => (v -> m (f v')) -> t v -> m (f (t v')) Source #

tlSegFieldOrdering :: Text -> Text -> Ordering Source #

Field ordering. To be used for pretty printing TLSegs.

TODO use cases on GHC 9.4

segIsTlTarget :: forall (f :: Strength) a. Seg f a -> Bool Source #

segDropMeta :: forall (f :: Type -> Type) a. TLSeg f a -> TLSeg (Const () :: Type -> Type) a Source #