pro-abstract-0.1.0.0: Abstract syntax for writing documents
Safe HaskellNone
LanguageHaskell2010

ProAbstract.Tag

Documentation

data Tag ann Source #

Instances

Instances details
Eq ann => Eq (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

(==) :: Tag ann -> Tag ann -> Bool #

(/=) :: Tag ann -> Tag ann -> Bool #

Show ann => Show (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

showsPrec :: Int -> Tag ann -> ShowS #

show :: Tag ann -> String #

showList :: [Tag ann] -> ShowS #

Generic (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Associated Types

type Rep (Tag ann) :: Type -> Type #

Methods

from :: Tag ann -> Rep (Tag ann) x #

to :: Rep (Tag ann) x -> Tag ann #

NFData ann => NFData (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

rnf :: Tag ann -> () #

Hashable ann => Hashable (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

hashWithSalt :: Int -> Tag ann -> Int #

hash :: Tag ann -> Int #

HasMetadata (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Associated Types

type MetadataOpticKind (Tag ann) Source #

HasTag (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.HasTag

Associated Types

type TagOpticKind (Tag ann) Source #

Methods

tag :: Optic' (TagOpticKind (Tag ann)) NoIx (Tag ann) (Tag (Annotation (Tag ann))) Source #

HasAnnotation (Tag ann) (Tag ann') Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

annotation :: Lens (Tag ann) (Tag ann') (Annotation (Tag ann)) (Annotation (Tag ann')) Source #

type Rep (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

type Rep (Tag ann) = D1 ('MetaData "Tag" "ProAbstract.Tag.TagType" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "Tag" 'PrefixI 'True) (S1 ('MetaSel ('Just "tagName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "tagMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Metadata) :*: S1 ('MetaSel ('Just "tagAnnotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann))))
type Annotation (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

type Annotation (Tag ann) = ann
type MetadataOpticKind (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

type TagOpticKind (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.HasTag

type TagOpticKind (Tag ann) = A_Lens

data family Tagged con Source #

Instances

Instances details
Eq ann => Eq (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

(==) :: Tagged (PlainBlock ann) -> Tagged (PlainBlock ann) -> Bool #

(/=) :: Tagged (PlainBlock ann) -> Tagged (PlainBlock ann) -> Bool #

Eq ann => Eq (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

(==) :: Tagged (Lines ann) -> Tagged (Lines ann) -> Bool #

(/=) :: Tagged (Lines ann) -> Tagged (Lines ann) -> Bool #

Eq ann => Eq (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

(==) :: Tagged (Blocks ann) -> Tagged (Blocks ann) -> Bool #

(/=) :: Tagged (Blocks ann) -> Tagged (Blocks ann) -> Bool #

Show ann => Show (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

showsPrec :: Int -> Tagged (PlainBlock ann) -> ShowS #

show :: Tagged (PlainBlock ann) -> String #

showList :: [Tagged (PlainBlock ann)] -> ShowS #

Show ann => Show (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

showsPrec :: Int -> Tagged (Lines ann) -> ShowS #

show :: Tagged (Lines ann) -> String #

showList :: [Tagged (Lines ann)] -> ShowS #

Show ann => Show (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

showsPrec :: Int -> Tagged (Blocks ann) -> ShowS #

show :: Tagged (Blocks ann) -> String #

showList :: [Tagged (Blocks ann)] -> ShowS #

Generic (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type Rep (Tagged (PlainBlock ann)) :: Type -> Type #

Methods

from :: Tagged (PlainBlock ann) -> Rep (Tagged (PlainBlock ann)) x #

to :: Rep (Tagged (PlainBlock ann)) x -> Tagged (PlainBlock ann) #

Generic (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type Rep (Tagged (Lines ann)) :: Type -> Type #

Methods

from :: Tagged (Lines ann) -> Rep (Tagged (Lines ann)) x #

to :: Rep (Tagged (Lines ann)) x -> Tagged (Lines ann) #

Generic (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type Rep (Tagged (Blocks ann)) :: Type -> Type #

Methods

from :: Tagged (Blocks ann) -> Rep (Tagged (Blocks ann)) x #

to :: Rep (Tagged (Blocks ann)) x -> Tagged (Blocks ann) #

NFData ann => NFData (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

rnf :: Tagged (PlainBlock ann) -> () #

NFData ann => NFData (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

rnf :: Tagged (Lines ann) -> () #

NFData ann => NFData (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

rnf :: Tagged (Blocks ann) -> () #

Hashable ann => Hashable (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

hashWithSalt :: Int -> Tagged (PlainBlock ann) -> Int #

hash :: Tagged (PlainBlock ann) -> Int #

Hashable ann => Hashable (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

hashWithSalt :: Int -> Tagged (Lines ann) -> Int #

hash :: Tagged (Lines ann) -> Int #

Hashable ann => Hashable (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

hashWithSalt :: Int -> Tagged (Blocks ann) -> Int #

hash :: Tagged (Blocks ann) -> Int #

HasMetadata (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type MetadataOpticKind (Tagged (PlainBlock ann)) Source #

HasMetadata (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type MetadataOpticKind (Tagged (Lines ann)) Source #

HasMetadata (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type MetadataOpticKind (Tagged (Blocks ann)) Source #

HasManyMetadata (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasTag (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type TagOpticKind (Tagged (PlainBlock ann)) Source #

HasTag (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type TagOpticKind (Tagged (Lines ann)) Source #

Methods

tag :: Optic' (TagOpticKind (Tagged (Lines ann))) NoIx (Tagged (Lines ann)) (Tag (Annotation (Tagged (Lines ann)))) Source #

HasTag (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Tagged (Blocks ann)) Source #

HasWitherableInlineTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Lines ann))) -> f (Maybe (Tag (Annotation (Tagged (Lines ann)))))) -> Tagged (Lines ann) -> f (Tagged (Lines ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Lines ann))) -> Maybe (Tag (Annotation (Tagged (Lines ann))))) -> Tagged (Lines ann) -> Tagged (Lines ann) Source #

HasWitherableInlineTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Blocks ann))) -> f (Maybe (Tag (Annotation (Tagged (Blocks ann)))))) -> Tagged (Blocks ann) -> f (Tagged (Blocks ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Blocks ann))) -> Maybe (Tag (Annotation (Tagged (Blocks ann))))) -> Tagged (Blocks ann) -> Tagged (Blocks ann) Source #

HasManyBlockTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainBlocks (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyParagraphs (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

CanHaveTaglessContent (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasAnnotation (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasAnnotation (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Annotation (Tagged (Lines ann))) (Annotation (Tagged (Lines ann))) Source #

HasAnnotation (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyAnnotations (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann')) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasManyAnnotations (Tagged (Lines ann)) (Tagged (Lines ann')) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyAnnotations (Tagged (Blocks ann)) (Tagged (Blocks ann')) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasContent (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasContent (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

content :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Content (Tagged (Lines ann))) (Content (Tagged (Lines ann))) Source #

HasContent (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

content :: Lens (Tagged (Blocks ann)) (Tagged (Blocks ann)) (Content (Tagged (Blocks ann))) (Content (Tagged (Blocks ann))) Source #

HasContents (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasContents (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

contents :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Seq (Contents (Tagged (Lines ann)))) (Seq (Contents (Tagged (Lines ann)))) Source #

HasContents (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

contents :: Lens (Tagged (Blocks ann)) (Tagged (Blocks ann)) (Seq (Contents (Tagged (Blocks ann)))) (Seq (Contents (Tagged (Blocks ann)))) Source #

type Rep (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type Rep (Tagged (PlainBlock ann)) = D1 ('MetaData "Tagged" "ProAbstract.Structure.PlainBlock" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "TaggedPlainBlock" 'PrefixI 'True) (S1 ('MetaSel ('Just "plaintextTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tag ann)) :*: S1 ('MetaSel ('Just "taggedPlaintext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PlainBlock ann))))
type Rep (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Rep (Tagged (Lines ann)) = D1 ('MetaData "Tagged" "ProAbstract.Structure.Inline" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "TaggedLines" 'PrefixI 'True) (S1 ('MetaSel ('Just "linesTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tag ann)) :*: S1 ('MetaSel ('Just "taggedLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Lines ann))))
type Rep (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Rep (Tagged (Blocks ann)) = D1 ('MetaData "Tagged" "ProAbstract.Structure.Block" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "TaggedBlocks" 'PrefixI 'True) (S1 ('MetaSel ('Just "blocksTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tag ann)) :*: S1 ('MetaSel ('Just "taggedBlocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Blocks ann))))
type Annotation (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type Annotation (Tagged (PlainBlock ann)) = ann
type Annotation (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Annotation (Tagged (Lines ann)) = ann
type Annotation (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Annotation (Tagged (Blocks ann)) = ann
type Content (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type Content (Tagged (PlainBlock ann)) = PlainBlock ann
type Content (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Content (Tagged (Lines ann)) = Lines ann
type Content (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Content (Tagged (Blocks ann)) = Blocks ann
type Contents (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type Contents (Tagged (PlainBlock ann)) = Fragment ann
type Contents (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Contents (Tagged (Lines ann)) = Line ann
type Contents (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Contents (Tagged (Blocks ann)) = Block ann
type MetadataOpticKind (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type MetadataOpticKind (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type MetadataOpticKind (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type TagOpticKind (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type TagOpticKind (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type TagOpticKind (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

data Tagged (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

data Tagged (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

data Tagged (Lines ann) = TaggedLines {}
data Tagged (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

class HasTag x where Source #

Associated Types

type TagOpticKind x :: OpticKind Source #

Instances

Instances details
HasTag (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.HasTag

Associated Types

type TagOpticKind (Tag ann) Source #

Methods

tag :: Optic' (TagOpticKind (Tag ann)) NoIx (Tag ann) (Tag (Annotation (Tag ann))) Source #

HasTag (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type TagOpticKind (Tagged (PlainBlock ann)) Source #

HasTag (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type TagOpticKind (Tagged (Lines ann)) Source #

Methods

tag :: Optic' (TagOpticKind (Tagged (Lines ann))) NoIx (Tagged (Lines ann)) (Tag (Annotation (Tagged (Lines ann)))) Source #

HasTag (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Tagged (Blocks ann)) Source #

HasTag (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type TagOpticKind (Inline ann) Source #

Methods

tag :: Optic' (TagOpticKind (Inline ann)) NoIx (Inline ann) (Tag (Annotation (Inline ann))) Source #

HasTag (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Block ann) Source #

Methods

tag :: Optic' (TagOpticKind (Block ann)) NoIx (Block ann) (Tag (Annotation (Block ann))) Source #

HasTag (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Associated Types

type TagOpticKind (BlockTag ann) Source #

class HasManyTags x where Source #

Instances

Instances details
HasManyTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyTags (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

class HasWitherableTags x where Source #

Minimal complete definition

witherTags

Methods

witherTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherTags :: Monad f => (Tag (Annotation (Lines ann)) -> f (Maybe (Tag (Annotation (Lines ann))))) -> Lines ann -> f (Lines ann) Source #

mapMaybeTags :: (Tag (Annotation (Lines ann)) -> Maybe (Tag (Annotation (Lines ann)))) -> Lines ann -> Lines ann Source #

HasWitherableTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherTags :: Monad f => (Tag (Annotation (Line ann)) -> f (Maybe (Tag (Annotation (Line ann))))) -> Line ann -> f (Line ann) Source #

mapMaybeTags :: (Tag (Annotation (Line ann)) -> Maybe (Tag (Annotation (Line ann)))) -> Line ann -> Line ann Source #

HasWitherableTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #

class HasManyTags x => HasManyBlockTags x where Source #

Instances

Instances details
HasManyBlockTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

class HasManyBlockTags x => HasWitherableBlockTags x where Source #

Minimal complete definition

witherBlockTags

Methods

witherBlockTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeBlockTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableBlockTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherBlockTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeBlockTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableBlockTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherBlockTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeBlockTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #

class HasManyTags x => HasWitherableInlineTags x where Source #

Minimal complete definition

witherInlineTags

Methods

witherInlineTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeInlineTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableInlineTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Lines ann))) -> f (Maybe (Tag (Annotation (Tagged (Lines ann)))))) -> Tagged (Lines ann) -> f (Tagged (Lines ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Lines ann))) -> Maybe (Tag (Annotation (Tagged (Lines ann))))) -> Tagged (Lines ann) -> Tagged (Lines ann) Source #

HasWitherableInlineTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Blocks ann))) -> f (Maybe (Tag (Annotation (Tagged (Blocks ann)))))) -> Tagged (Blocks ann) -> f (Tagged (Blocks ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Blocks ann))) -> Maybe (Tag (Annotation (Tagged (Blocks ann))))) -> Tagged (Blocks ann) -> Tagged (Blocks ann) Source #

HasWitherableInlineTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Lines ann)) -> f (Maybe (Tag (Annotation (Lines ann))))) -> Lines ann -> f (Lines ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Lines ann)) -> Maybe (Tag (Annotation (Lines ann)))) -> Lines ann -> Lines ann Source #

HasWitherableInlineTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Line ann)) -> f (Maybe (Tag (Annotation (Line ann))))) -> Line ann -> f (Line ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Line ann)) -> Maybe (Tag (Annotation (Line ann)))) -> Line ann -> Line ann Source #

HasWitherableInlineTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasWitherableInlineTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableInlineTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Block ann)) -> f (Maybe (Tag (Annotation (Block ann))))) -> Block ann -> f (Block ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Block ann)) -> Maybe (Tag (Annotation (Block ann)))) -> Block ann -> Block ann Source #

HasWitherableInlineTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #