Language.Haskell.Exts.Annotated.ExactPrint

haskell-src-exts-1.11.1: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer

Portability | portable
Stability | stable
Maintainer | Niklas Broberg, d00nibro@chalmers.se

Language.Haskell.Exts.Annotated.ExactPrint

Description

Exact-printer for Haskell abstract syntax. The input is a (semi-concrete) abstract syntax tree, annotated with exact source information to enable printing the tree exactly as it was parsed.

Synopsis

- exactPrint :: ExactP ast => ast SrcSpanInfo -> [Comment] -> String
- class Annotated ast => ExactP ast

# Documentation

exactPrint :: ExactP ast => ast SrcSpanInfo -> [Comment] -> String

Print an AST exactly as specified by the annotations on the nodes in the tree.

class Annotated ast => ExactP ast

Instances

ExactP GuardedAlt |
ExactP GuardedAlts |
ExactP Alt |
ExactP FieldUpdate |
ExactP QualStmt |
ExactP Stmt |
ExactP PatField |
ExactP RPat |
ExactP RPatOp |
ExactP PXAttr |
ExactP Pat |
ExactP WarningText |
ExactP RuleVar |
ExactP Rule |
ExactP Activation |
ExactP ModulePragma |
ExactP CallConv |
ExactP Safety |
ExactP Splice |
ExactP Bracket |
ExactP XAttr |
ExactP XName |
ExactP Exp |
ExactP Literal |
ExactP Asst |
ExactP Context |
ExactP FunDep |
ExactP Kind |
ExactP TyVarBind |
ExactP Type |
ExactP GuardedRhs |
ExactP Rhs |
ExactP BangType |
ExactP InstDecl |
ExactP ClassDecl |
ExactP GadtDecl |
ExactP FieldDecl |
ExactP ConDecl |
ExactP QualConDecl |
ExactP Match |
ExactP IPBind |
ExactP Binds |
ExactP Deriving |
ExactP InstHead |
ExactP DeclHead |
ExactP DataOrNew |
ExactP Annotation |
ExactP Decl |
ExactP Assoc |
ExactP ImportSpec |
ExactP ImportSpecList |
ExactP ImportDecl |
ExactP ExportSpec |
ExactP ExportSpecList |
ExactP ModuleHead |
ExactP Module |
ExactP CName |
ExactP Op |
ExactP QOp |
ExactP IPName |
ExactP Name |
ExactP QName |
ExactP SpecialCon |
ExactP ModuleName |