A SimpleDocStream is a linked list of different annotated cons cells (SText and then some further SimpleDocStream, SLine and then some further SimpleDocStream, …). This format is very suitable as a target for a layout engine, but not very useful for rendering to a structured format such as HTML, where we don’t want to do a lookahead until the end of some markup. These formats benefit from a tree-like structure that explicitly marks its contents as annotated. SimpleDocTree is that format.
Instances8Functor, Foldable, Traversable, Eq, Ord, Show, …
Functor SimpleDocTreeDefined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeAlter the document’s annotations.
This instance makes SimpleDocTree more flexible (because it can be used in Functor-polymorphic values), but
fmapis much less readable compared to usingreAnnotateSTin code that only works forSimpleDocTreeanyway. Consider using the latter when the type does not matter.Foldable SimpleDocTreeDefined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeCollect all annotations from a document.
Traversable SimpleDocTreeDefined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeTransform a document based on its annotations, possibly leveraging Applicative effects.
Eq ann => Eq (SimpleDocTree ann)Defined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeOrd ann => Ord (SimpleDocTree ann)Defined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeShow ann => Show (SimpleDocTree ann)Defined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreeGeneric (SimpleDocTree ann)Defined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTreetype Rep (SimpleDocTree ann) = D1 ('MetaDataDefined in prettyprinter-1.7.1 · Prettyprinter.Render.Util.SimpleDocTree"SimpleDocTree"
"Prettyprinter.Render.Util.SimpleDocTree"
"prettyprinter-1.7.1-HHxuhFuLsfvKGXtl3TXc21"
'False) ((C1 ('MetaCons"STEmpty"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"STChar"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Char)) :+: C1 ('MetaCons"STText"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: (C1 ('MetaCons"STLine"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int)) :+: (C1 ('MetaCons"STAnn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ann) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SimpleDocTree ann))) :+: C1 ('MetaCons"STConcat"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SimpleDocTree ann])))))