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

ProAbstract.Structure

Synopsis

Document

data Document ann Source #

Instances

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

Defined in ProAbstract.Structure.Document

Methods

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

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

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

Defined in ProAbstract.Structure.Document

Methods

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

show :: Document ann -> String #

showList :: [Document ann] -> ShowS #

Generic (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Document

Methods

rnf :: Document ann -> () #

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

Defined in ProAbstract.Structure.Document

Methods

hashWithSalt :: Int -> Document ann -> Int #

hash :: Document ann -> Int #

HasMetadata (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Associated Types

type MetadataOpticKind (Document ann) Source #

HasManyMetadata (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyPlainInlines (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

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 #

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 #

HasManyBlockTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

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 #

HasManyTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyPlainBlocks (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyParagraphs (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

CanHaveTaglessContent (Document ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasManyAnnotations (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasContent (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

content :: Lens (Document ann) (Document ann') (Content (Document ann)) (Content (Document ann')) Source #

HasContents (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

contents :: Lens (Document ann) (Document ann') (Seq (Contents (Document ann))) (Seq (Contents (Document ann'))) Source #

type Rep (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

type Rep (Document ann) = D1 ('MetaData "Document" "ProAbstract.Structure.Document" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "Document" 'PrefixI 'True) (S1 ('MetaSel ('Just "documentMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Metadata) :*: S1 ('MetaSel ('Just "documentContent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Blocks ann))))
type Annotation (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

type Annotation (Document ann) = ann
type Content (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

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

Defined in ProAbstract.Structure.Document

type Contents (Document ann) = Block ann
type MetadataOpticKind (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Blocks

data Block ann Source #

Instances

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

Defined in ProAbstract.Structure.Block

Methods

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

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

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

Defined in ProAbstract.Structure.Block

Methods

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

show :: Block ann -> String #

showList :: [Block ann] -> ShowS #

Generic (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Block

Methods

rnf :: Block ann -> () #

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

Defined in ProAbstract.Structure.Block

Methods

hashWithSalt :: Int -> Block ann -> Int #

hash :: Block ann -> Int #

HasMetadata (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type MetadataOpticKind (Block ann) Source #

HasManyMetadata (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

CanFork (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

fork :: Prism' (Block ann) (Fork (Block ann)) Source #

HasManyPlainInlines (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

CanBePlain (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

plain :: Prism' (Block ann) (Plain (Block 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 #

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 #

HasManyBlockTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainBlocks (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyParagraphs (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

CanBeTagless (Block ann) Source #

Only a paragraph inline is considered to be plain text, because fork and plain blocks have tags.

Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Block ann) txt Source #

CanHaveTaglessContent (Block ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasAnnotation (Block ann) (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

annotation :: Lens (Block ann) (Block ann) (Annotation (Block ann)) (Annotation (Block ann)) Source #

HasManyAnnotations (Block ann) (Block ann') Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

allAnnotations :: Traversal (Block ann) (Block ann') (Annotation (Block ann)) (Annotation (Block ann')) Source #

type Rep (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Rep (Block ann) = D1 ('MetaData "Block" "ProAbstract.Structure.Block" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "BlockPlain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tagged (PlainBlock ann)))) :+: (C1 ('MetaCons "BlockParagraph" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Paragraph ann))) :+: C1 ('MetaCons "BlockFork" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tagged (Blocks ann))))))
type Annotation (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

type Fork (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Fork (Block ann) = Tagged (Blocks ann)
type Plain (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Plain (Block ann) = Tagged (PlainBlock ann)
type TagOpticKind (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

newtype Blocks ann Source #

Constructors

Blocks (Seq (Block ann))

content

Instances

Instances details
IsList (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type Item (Blocks ann) #

Methods

fromList :: [Item (Blocks ann)] -> Blocks ann #

fromListN :: Int -> [Item (Blocks ann)] -> Blocks ann #

toList :: Blocks ann -> [Item (Blocks ann)] #

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 #

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

Defined in ProAbstract.Structure.Block

Methods

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

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

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 #

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

Defined in ProAbstract.Structure.Block

Methods

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

show :: Blocks ann -> String #

showList :: [Blocks ann] -> ShowS #

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) #

Generic (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

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

Methods

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

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

Semigroup (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

(<>) :: Blocks ann -> Blocks ann -> Blocks ann #

sconcat :: NonEmpty (Blocks ann) -> Blocks ann #

stimes :: Integral b => b -> Blocks ann -> Blocks ann #

Monoid (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

mempty :: Blocks ann #

mappend :: Blocks ann -> Blocks ann -> Blocks ann #

mconcat :: [Blocks ann] -> Blocks ann #

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

Defined in ProAbstract.Structure.Block

Methods

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

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

Defined in ProAbstract.Structure.Block

Methods

rnf :: Blocks ann -> () #

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 #

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

Defined in ProAbstract.Structure.Block

Methods

hashWithSalt :: Int -> Blocks ann -> Int #

hash :: Blocks ann -> Int #

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

Defined in ProAbstract.Structure.Block

Associated Types

type MetadataOpticKind (Tagged (Blocks ann)) Source #

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

Defined in ProAbstract.Structure.Block

HasManyMetadata (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Tagged (Blocks 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 (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 #

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 #

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

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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 #

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

Defined in ProAbstract.Structure.Block

HasManyTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

HasManyPlainBlocks (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

HasManyParagraphs (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

CanBeTagless (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Blocks ann) txt Source #

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

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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 (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 #

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

Defined in ProAbstract.Structure.Block

Methods

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

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 Rep (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Rep (Blocks ann) = D1 ('MetaData "Blocks" "ProAbstract.Structure.Block" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'True) (C1 ('MetaCons "Blocks" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (Block ann)))))
type Item (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

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

Defined in ProAbstract.Structure.Block

data Tagged (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

data BlockTag ann Source #

Instances

Instances details
HasMetadata (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Associated Types

type MetadataOpticKind (BlockTag ann) Source #

HasManyMetadata (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

CanFork (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

fork :: Prism' (BlockTag ann) (Fork (BlockTag ann)) Source #

HasManyPlainInlines (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

CanBePlain (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

plain :: Prism' (BlockTag ann) (Plain (BlockTag ann)) Source #

HasTag (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Associated Types

type TagOpticKind (BlockTag ann) Source #

HasManyTags (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

HasManyPlainBlocks (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

HasManyParagraphs (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

CanHaveTaglessContent (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasAnnotation (BlockTag ann) (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

HasManyAnnotations (BlockTag ann) (BlockTag ann') Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

type Annotation (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

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

Defined in ProAbstract.Structure.BlockTag

type Fork (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

type Fork (BlockTag ann) = Tagged (Blocks ann)
type Plain (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

type Plain (BlockTag ann) = Tagged (PlainBlock ann)
type TagOpticKind (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Paragraph

data Paragraph ann Source #

A collection of Lines. A Paragraph represents the border between block and inline contexts. All ancestors of a paragraph are block items or a document, and all children are inline items.

Instances

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

Defined in ProAbstract.Structure.Paragraph

Methods

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

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

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

Defined in ProAbstract.Structure.Paragraph

Methods

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

show :: Paragraph ann -> String #

showList :: [Paragraph ann] -> ShowS #

Generic (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Paragraph

Methods

rnf :: Paragraph ann -> () #

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

Defined in ProAbstract.Structure.Paragraph

Methods

hashWithSalt :: Int -> Paragraph ann -> Int #

hash :: Paragraph ann -> Int #

HasManyMetadata (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyPlainInlines (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasWitherableInlineTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

CanBeTagless (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Paragraph ann) txt Source #

HasAnnotation (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyAnnotations (Paragraph ann) (Paragraph ann') Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasContent (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

Methods

content :: Lens (Paragraph ann) (Paragraph ann) (Content (Paragraph ann)) (Content (Paragraph ann)) Source #

HasContents (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

Methods

contents :: Lens (Paragraph ann) (Paragraph ann) (Seq (Contents (Paragraph ann))) (Seq (Contents (Paragraph ann))) Source #

type Rep (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

type Rep (Paragraph ann) = D1 ('MetaData "Paragraph" "ProAbstract.Structure.Paragraph" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "Paragraph" 'PrefixI 'True) (S1 ('MetaSel ('Just "paragraphContent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Lines ann)) :*: S1 ('MetaSel ('Just "paragraphAnnotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann)))
type Annotation (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

type Annotation (Paragraph ann) = ann
type Content (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

type Content (Paragraph ann) = Lines ann
type Contents (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

type Contents (Paragraph ann) = Line ann

Inlines

data Inline ann Source #

Instances

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

Defined in ProAbstract.Structure.Inline

Methods

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

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

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

Defined in ProAbstract.Structure.Inline

Methods

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

show :: Inline ann -> String #

showList :: [Inline ann] -> ShowS #

Generic (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Inline

Methods

rnf :: Inline ann -> () #

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

Defined in ProAbstract.Structure.Inline

Methods

hashWithSalt :: Int -> Inline ann -> Int #

hash :: Inline ann -> Int #

HasMetadata (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type MetadataOpticKind (Inline ann) Source #

HasManyMetadata (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

CanFork (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

fork :: Prism' (Inline ann) (Fork (Inline ann)) Source #

HasManyPlainInlines (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

CanBePlain (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

plain :: Prism' (Inline ann) (Plain (Inline 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 #

HasManyTags (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

CanBeTagless (Inline ann) Source #

Only a plain inline is considered to be plain text, because fork inlines have a tags.

Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Inline ann) txt Source #

CanHaveTaglessContent (Inline ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasAnnotation (Inline ann) (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Inline ann) (Inline ann) (Annotation (Inline ann)) (Annotation (Inline ann)) Source #

HasManyAnnotations (Inline ann) (Inline ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Rep (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Rep (Inline ann) = D1 ('MetaData "Inline" "ProAbstract.Structure.Inline" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "InlineFork" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tagged (Lines ann)))) :+: C1 ('MetaCons "InlinePlain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Fragment ann))))
type Annotation (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

type Fork (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Fork (Inline ann) = Tagged (Lines ann)
type Plain (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Plain (Inline ann) = Fragment ann
type TagOpticKind (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

data Line ann Source #

Instances

Instances details
IsList (Line ()) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type Item (Line ()) #

Methods

fromList :: [Item (Line ())] -> Line () #

fromListN :: Int -> [Item (Line ())] -> Line () #

toList :: Line () -> [Item (Line ())] #

Eq ann => Eq (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

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

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

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

Defined in ProAbstract.Structure.Inline

Methods

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

show :: Line ann -> String #

showList :: [Line ann] -> ShowS #

Generic (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Inline

Methods

rnf :: Line ann -> () #

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

Defined in ProAbstract.Structure.Inline

Methods

hashWithSalt :: Int -> Line ann -> Int #

hash :: Line ann -> Int #

HasManyMetadata (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

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 #

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 #

HasManyTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

CanBeTagless (Line ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Line ann) txt Source #

CanHaveTaglessContent (Line ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

HasAnnotation (Line ann) (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Line ann) (Line ann) (Annotation (Line ann)) (Annotation (Line ann)) Source #

HasManyAnnotations (Line ann) (Line ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

allAnnotations :: Traversal (Line ann) (Line ann') (Annotation (Line ann)) (Annotation (Line ann')) Source #

HasContents (Line ann) (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

contents :: Lens (Line ann) (Line ann) (Seq (Contents (Line ann))) (Seq (Contents (Line ann))) Source #

type Rep (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Rep (Line ann) = D1 ('MetaData "Line" "ProAbstract.Structure.Inline" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "Line" 'PrefixI 'True) (S1 ('MetaSel ('Just "lineInlines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (Inline ann))) :*: S1 ('MetaSel ('Just "lineAnnotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann)))
type Item (Line ()) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Item (Line ()) = Inline ()
type Annotation (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Annotation (Line ann) = ann
type Contents (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Contents (Line ann) = Inline ann

newtype Lines ann Source #

Constructors

Lines (Seq (Line ann))

contentsSeq

Instances

Instances details
IsList (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type Item (Lines ann) #

Methods

fromList :: [Item (Lines ann)] -> Lines ann #

fromListN :: Int -> [Item (Lines ann)] -> Lines ann #

toList :: Lines ann -> [Item (Lines ann)] #

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 (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

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

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

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 (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

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

show :: Lines ann -> String #

showList :: [Lines ann] -> ShowS #

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 (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

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

Methods

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

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

Semigroup (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

(<>) :: Lines ann -> Lines ann -> Lines ann #

sconcat :: NonEmpty (Lines ann) -> Lines ann #

stimes :: Integral b => b -> Lines ann -> Lines ann #

Monoid (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

mempty :: Lines ann #

mappend :: Lines ann -> Lines ann -> Lines ann #

mconcat :: [Lines ann] -> Lines ann #

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

Defined in ProAbstract.Structure.Inline

Methods

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

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

Defined in ProAbstract.Structure.Inline

Methods

rnf :: Lines ann -> () #

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 (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

hashWithSalt :: Int -> Lines ann -> Int #

hash :: Lines ann -> Int #

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

Defined in ProAbstract.Structure.Inline

Associated Types

type MetadataOpticKind (Tagged (Lines ann)) Source #

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

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

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 #

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 (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 #

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 #

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

Defined in ProAbstract.Structure.Inline

HasManyTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

CanBeTagless (Lines ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Lines ann) txt Source #

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

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Lines ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

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 #

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

Methods

allAnnotations :: Traversal (Lines ann) (Lines ann') (Annotation (Lines ann)) (Annotation (Lines ann')) Source #

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 #

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 (Lines ann) (Lines ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

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

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 (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Rep (Lines ann) = D1 ('MetaData "Lines" "ProAbstract.Structure.Inline" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'True) (C1 ('MetaCons "Lines" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (Line ann)))))
type Item (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Inline

data Tagged (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

data Tagged (Lines ann) = TaggedLines {}

Tagged

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

Text

data PlainBlock ann 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 (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

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

(/=) :: PlainBlock ann -> PlainBlock 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 (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

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

show :: PlainBlock ann -> String #

showList :: [PlainBlock 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 (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.PlainBlock

Methods

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

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

Defined in ProAbstract.Structure.PlainBlock

Methods

rnf :: PlainBlock 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 (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Methods

hashWithSalt :: Int -> PlainBlock ann -> Int #

hash :: PlainBlock ann -> Int #

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

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type MetadataOpticKind (Tagged (PlainBlock ann)) Source #

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

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type TagOpticKind (Tagged (PlainBlock ann)) Source #

CanBeTagless (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (PlainBlock ann) txt Source #

CanHaveTaglessContent (Tagged (PlainBlock 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 (PlainBlock ann) (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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 (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

type Rep (PlainBlock ann) = D1 ('MetaData "PlainBlock" "ProAbstract.Structure.PlainBlock" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "PlainBlock" 'PrefixI 'True) (S1 ('MetaSel ('Just "plainBlockLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (Fragment ann))) :*: S1 ('MetaSel ('Just "plainBlockAnnotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann)))
type Annotation (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

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

Defined in ProAbstract.Structure.PlainBlock

data Tagged (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

data Fragment ann Source #

Instances

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

Defined in ProAbstract.Structure.Fragment

Methods

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

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

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

Defined in ProAbstract.Structure.Fragment

Methods

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

show :: Fragment ann -> String #

showList :: [Fragment ann] -> ShowS #

Generic (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

Associated Types

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

Methods

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

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

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

Defined in ProAbstract.Structure.Fragment

Methods

rnf :: Fragment ann -> () #

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

Defined in ProAbstract.Structure.Fragment

Methods

hashWithSalt :: Int -> Fragment ann -> Int #

hash :: Fragment ann -> Int #

CanBeTagless (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Fragment ann) txt Source #

CanHaveTaglessContent (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

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

Defined in ProAbstract.Structure.Fragment

Methods

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

HasContent (Fragment ann) (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

Methods

content :: Lens (Fragment ann) (Fragment ann) (Content (Fragment ann)) (Content (Fragment ann)) Source #

type Rep (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

type Rep (Fragment ann) = D1 ('MetaData "Fragment" "ProAbstract.Structure.Fragment" "pro-abstract-0.1.0.0-fAo99Omz3u7l2SA6DiDR2" 'False) (C1 ('MetaCons "Fragment" 'PrefixI 'True) (S1 ('MetaSel ('Just "fragmentText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "fragmentAnnotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann)))
type Annotation (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

type Annotation (Fragment ann) = ann
type Content (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

type Content (Fragment ann) = Text

Plain and fork

class CanBePlain x where Source #

Methods

plain :: Prism' x (Plain x) Source #

Instances

Instances details
CanBePlain (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

plain :: Prism' (Inline ann) (Plain (Inline ann)) Source #

CanBePlain (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

plain :: Prism' (Block ann) (Plain (Block ann)) Source #

CanBePlain (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

plain :: Prism' (BlockTag ann) (Plain (BlockTag ann)) Source #

type family Plain a Source #

Instances

Instances details
type Plain (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Plain (Inline ann) = Fragment ann
type Plain (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Plain (Block ann) = Tagged (PlainBlock ann)
type Plain (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

type Plain (BlockTag ann) = Tagged (PlainBlock ann)

class CanFork x where Source #

Methods

fork :: Prism' x (Fork x) Source #

Instances

Instances details
CanFork (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

fork :: Prism' (Inline ann) (Fork (Inline ann)) Source #

CanFork (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

fork :: Prism' (Block ann) (Fork (Block ann)) Source #

CanFork (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

fork :: Prism' (BlockTag ann) (Fork (BlockTag ann)) Source #

type family Fork a Source #

Instances

Instances details
type Fork (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

type Fork (Inline ann) = Tagged (Lines ann)
type Fork (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

type Fork (Block ann) = Tagged (Blocks ann)
type Fork (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

type Fork (BlockTag ann) = Tagged (Blocks ann)

Traversals

class HasManyPlainInlines x where Source #

Instances

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

Defined in ProAbstract.Structure.Inline

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

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyPlainInlines (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyPlainInlines (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag