Language.Haskell.Exts.ExactPrint

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

Copyright | (c) Niklas Broberg 2009
License | BSD-style (see the file LICENSE.txt)
Maintainer | Niklas Broberg, d00nibro@chalmers.se
Stability | stable
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell98

Language.Haskell.Exts.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 :: Type -> Type)

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

Minimal complete definition

exactP

#### Instances

Instances details

ExactP Activation # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Activation SrcSpanInfo -> EP ()
ExactP Alt # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Alt SrcSpanInfo -> EP ()
ExactP Annotation # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Annotation SrcSpanInfo -> EP ()
ExactP Assoc # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Assoc SrcSpanInfo -> EP ()
ExactP Asst # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Asst SrcSpanInfo -> EP ()
ExactP BangType # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: BangType SrcSpanInfo -> EP ()
ExactP Binds # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Binds SrcSpanInfo -> EP ()
ExactP BooleanFormula # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: BooleanFormula SrcSpanInfo -> EP ()
ExactP Bracket # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Bracket SrcSpanInfo -> EP ()
ExactP CName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: CName SrcSpanInfo -> EP ()
ExactP CallConv # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: CallConv SrcSpanInfo -> EP ()
ExactP ClassDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ClassDecl SrcSpanInfo -> EP ()
ExactP ConDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ConDecl SrcSpanInfo -> EP ()
ExactP Context # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Context SrcSpanInfo -> EP ()
ExactP DataOrNew # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: DataOrNew SrcSpanInfo -> EP ()
ExactP Decl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Decl SrcSpanInfo -> EP ()
ExactP DeclHead # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: DeclHead SrcSpanInfo -> EP ()
ExactP DerivStrategy # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: DerivStrategy SrcSpanInfo -> EP ()
ExactP Deriving # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Deriving SrcSpanInfo -> EP ()
ExactP Exp # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Exp SrcSpanInfo -> EP ()
ExactP ExportSpec # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ExportSpec SrcSpanInfo -> EP ()
ExactP ExportSpecList # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ExportSpecList SrcSpanInfo -> EP ()
ExactP FieldDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: FieldDecl SrcSpanInfo -> EP ()
ExactP FieldUpdate # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: FieldUpdate SrcSpanInfo -> EP ()
ExactP FunDep # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: FunDep SrcSpanInfo -> EP ()
ExactP GadtDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: GadtDecl SrcSpanInfo -> EP ()
ExactP GuardedRhs # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: GuardedRhs SrcSpanInfo -> EP ()
ExactP IPBind # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: IPBind SrcSpanInfo -> EP ()
ExactP IPName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: IPName SrcSpanInfo -> EP ()
ExactP ImportDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ImportDecl SrcSpanInfo -> EP ()
ExactP ImportSpec # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ImportSpec SrcSpanInfo -> EP ()
ExactP ImportSpecList # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ImportSpecList SrcSpanInfo -> EP ()
ExactP InjectivityInfo # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: InjectivityInfo SrcSpanInfo -> EP ()
ExactP InstDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: InstDecl SrcSpanInfo -> EP ()
ExactP InstHead # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: InstHead SrcSpanInfo -> EP ()
ExactP InstRule # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: InstRule SrcSpanInfo -> EP ()
ExactP Literal # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Literal SrcSpanInfo -> EP ()
ExactP Match # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Match SrcSpanInfo -> EP ()
ExactP MaybePromotedName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: MaybePromotedName SrcSpanInfo -> EP ()
ExactP Module # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Module SrcSpanInfo -> EP ()
ExactP ModuleHead # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ModuleHead SrcSpanInfo -> EP ()
ExactP ModuleName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ModuleName SrcSpanInfo -> EP ()
ExactP ModulePragma # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ModulePragma SrcSpanInfo -> EP ()
ExactP Name # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Name SrcSpanInfo -> EP ()
ExactP Namespace # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Namespace SrcSpanInfo -> EP ()
ExactP Op # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Op SrcSpanInfo -> EP ()
ExactP Overlap # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Overlap SrcSpanInfo -> EP ()
ExactP PXAttr # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: PXAttr SrcSpanInfo -> EP ()
ExactP Pat # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Pat SrcSpanInfo -> EP ()
ExactP PatField # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: PatField SrcSpanInfo -> EP ()
ExactP Promoted # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Promoted SrcSpanInfo -> EP ()
ExactP QName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: QName SrcSpanInfo -> EP ()
ExactP QOp # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: QOp SrcSpanInfo -> EP ()
ExactP QualConDecl # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: QualConDecl SrcSpanInfo -> EP ()
ExactP QualStmt # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: QualStmt SrcSpanInfo -> EP ()
ExactP RPat # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: RPat SrcSpanInfo -> EP ()
ExactP RPatOp # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: RPatOp SrcSpanInfo -> EP ()
ExactP ResultSig # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: ResultSig SrcSpanInfo -> EP ()
ExactP Rhs # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Rhs SrcSpanInfo -> EP ()
ExactP Role # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Role SrcSpanInfo -> EP ()
ExactP Rule # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Rule SrcSpanInfo -> EP ()
ExactP RuleVar # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: RuleVar SrcSpanInfo -> EP ()
ExactP Safety # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Safety SrcSpanInfo -> EP ()
ExactP Sign # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Sign SrcSpanInfo -> EP ()
ExactP SpecialCon # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: SpecialCon SrcSpanInfo -> EP ()
ExactP Splice # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Splice SrcSpanInfo -> EP ()
ExactP Stmt # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Stmt SrcSpanInfo -> EP ()
ExactP TyVarBind # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: TyVarBind SrcSpanInfo -> EP ()
ExactP Type # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Type SrcSpanInfo -> EP ()
ExactP TypeEqn # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: TypeEqn SrcSpanInfo -> EP ()
ExactP Unpackedness # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: Unpackedness SrcSpanInfo -> EP ()
ExactP WarningText # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: WarningText SrcSpanInfo -> EP ()
ExactP XAttr # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: XAttr SrcSpanInfo -> EP ()
ExactP XName # |
Instance details Defined in Language.Haskell.Exts.ExactPrint Methods exactP :: XName SrcSpanInfo -> EP ()