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

Copyright(c) Niklas Broberg 2009
LicenseBSD-style (see the file LICENSE.txt)
MaintainerNiklas Broberg, d00nibro@chalmers.se
Stabilitystable
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

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

Documentation

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

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

class Annotated ast => ExactP ast Source #

Minimal complete definition

exactP

Instances

ExactP Alt Source # 

Methods

exactP :: Alt SrcSpanInfo -> EP ()

ExactP FieldUpdate Source # 

Methods

exactP :: FieldUpdate SrcSpanInfo -> EP ()

ExactP QualStmt Source # 

Methods

exactP :: QualStmt SrcSpanInfo -> EP ()

ExactP Stmt Source # 

Methods

exactP :: Stmt SrcSpanInfo -> EP ()

ExactP PatField Source # 

Methods

exactP :: PatField SrcSpanInfo -> EP ()

ExactP RPat Source # 

Methods

exactP :: RPat SrcSpanInfo -> EP ()

ExactP RPatOp Source # 

Methods

exactP :: RPatOp SrcSpanInfo -> EP ()

ExactP PXAttr Source # 

Methods

exactP :: PXAttr SrcSpanInfo -> EP ()

ExactP Pat Source # 

Methods

exactP :: Pat SrcSpanInfo -> EP ()

ExactP WarningText Source # 

Methods

exactP :: WarningText SrcSpanInfo -> EP ()

ExactP RuleVar Source # 

Methods

exactP :: RuleVar SrcSpanInfo -> EP ()

ExactP Rule Source # 

Methods

exactP :: Rule SrcSpanInfo -> EP ()

ExactP Activation Source # 

Methods

exactP :: Activation SrcSpanInfo -> EP ()

ExactP Overlap Source # 

Methods

exactP :: Overlap SrcSpanInfo -> EP ()

ExactP ModulePragma Source # 

Methods

exactP :: ModulePragma SrcSpanInfo -> EP ()

ExactP CallConv Source # 

Methods

exactP :: CallConv SrcSpanInfo -> EP ()

ExactP Safety Source # 

Methods

exactP :: Safety SrcSpanInfo -> EP ()

ExactP Splice Source # 

Methods

exactP :: Splice SrcSpanInfo -> EP ()

ExactP Bracket Source # 

Methods

exactP :: Bracket SrcSpanInfo -> EP ()

ExactP XAttr Source # 

Methods

exactP :: XAttr SrcSpanInfo -> EP ()

ExactP XName Source # 

Methods

exactP :: XName SrcSpanInfo -> EP ()

ExactP Exp Source # 

Methods

exactP :: Exp SrcSpanInfo -> EP ()

ExactP Sign Source # 

Methods

exactP :: Sign SrcSpanInfo -> EP ()

ExactP Literal Source # 

Methods

exactP :: Literal SrcSpanInfo -> EP ()

ExactP Asst Source # 

Methods

exactP :: Asst SrcSpanInfo -> EP ()

ExactP Context Source # 

Methods

exactP :: Context SrcSpanInfo -> EP ()

ExactP FunDep Source # 

Methods

exactP :: FunDep SrcSpanInfo -> EP ()

ExactP Kind Source # 

Methods

exactP :: Kind SrcSpanInfo -> EP ()

ExactP TyVarBind Source # 

Methods

exactP :: TyVarBind SrcSpanInfo -> EP ()

ExactP Promoted Source # 

Methods

exactP :: Promoted SrcSpanInfo -> EP ()

ExactP Type Source # 

Methods

exactP :: Type SrcSpanInfo -> EP ()

ExactP GuardedRhs Source # 

Methods

exactP :: GuardedRhs SrcSpanInfo -> EP ()

ExactP Rhs Source # 

Methods

exactP :: Rhs SrcSpanInfo -> EP ()

ExactP Unpackedness Source # 

Methods

exactP :: Unpackedness SrcSpanInfo -> EP ()

ExactP BangType Source # 

Methods

exactP :: BangType SrcSpanInfo -> EP ()

ExactP InstDecl Source # 

Methods

exactP :: InstDecl SrcSpanInfo -> EP ()

ExactP ClassDecl Source # 

Methods

exactP :: ClassDecl SrcSpanInfo -> EP ()

ExactP GadtDecl Source # 

Methods

exactP :: GadtDecl SrcSpanInfo -> EP ()

ExactP FieldDecl Source # 

Methods

exactP :: FieldDecl SrcSpanInfo -> EP ()

ExactP ConDecl Source # 

Methods

exactP :: ConDecl SrcSpanInfo -> EP ()

ExactP QualConDecl Source # 

Methods

exactP :: QualConDecl SrcSpanInfo -> EP ()

ExactP Match Source # 

Methods

exactP :: Match SrcSpanInfo -> EP ()

ExactP IPBind Source # 

Methods

exactP :: IPBind SrcSpanInfo -> EP ()

ExactP Binds Source # 

Methods

exactP :: Binds SrcSpanInfo -> EP ()

ExactP Deriving Source # 

Methods

exactP :: Deriving SrcSpanInfo -> EP ()

ExactP InstHead Source # 

Methods

exactP :: InstHead SrcSpanInfo -> EP ()

ExactP InstRule Source # 

Methods

exactP :: InstRule SrcSpanInfo -> EP ()

ExactP DeclHead Source # 

Methods

exactP :: DeclHead SrcSpanInfo -> EP ()

ExactP ResultSig Source # 

Methods

exactP :: ResultSig SrcSpanInfo -> EP ()

ExactP InjectivityInfo Source # 
ExactP DataOrNew Source # 

Methods

exactP :: DataOrNew SrcSpanInfo -> EP ()

ExactP Role Source # 

Methods

exactP :: Role SrcSpanInfo -> EP ()

ExactP BooleanFormula Source # 

Methods

exactP :: BooleanFormula SrcSpanInfo -> EP ()

ExactP Annotation Source # 

Methods

exactP :: Annotation SrcSpanInfo -> EP ()

ExactP TypeEqn Source # 

Methods

exactP :: TypeEqn SrcSpanInfo -> EP ()

ExactP Decl Source # 

Methods

exactP :: Decl SrcSpanInfo -> EP ()

ExactP Assoc Source # 

Methods

exactP :: Assoc SrcSpanInfo -> EP ()

ExactP ImportSpec Source # 

Methods

exactP :: ImportSpec SrcSpanInfo -> EP ()

ExactP ImportSpecList Source # 

Methods

exactP :: ImportSpecList SrcSpanInfo -> EP ()

ExactP ImportDecl Source # 

Methods

exactP :: ImportDecl SrcSpanInfo -> EP ()

ExactP Namespace Source # 

Methods

exactP :: Namespace SrcSpanInfo -> EP ()

ExactP ExportSpec Source # 

Methods

exactP :: ExportSpec SrcSpanInfo -> EP ()

ExactP ExportSpecList Source # 

Methods

exactP :: ExportSpecList SrcSpanInfo -> EP ()

ExactP ModuleHead Source # 

Methods

exactP :: ModuleHead SrcSpanInfo -> EP ()

ExactP Module Source # 

Methods

exactP :: Module SrcSpanInfo -> EP ()

ExactP CName Source # 

Methods

exactP :: CName SrcSpanInfo -> EP ()

ExactP Op Source # 

Methods

exactP :: Op SrcSpanInfo -> EP ()

ExactP QOp Source # 

Methods

exactP :: QOp SrcSpanInfo -> EP ()

ExactP IPName Source # 

Methods

exactP :: IPName SrcSpanInfo -> EP ()

ExactP Name Source # 

Methods

exactP :: Name SrcSpanInfo -> EP ()

ExactP QName Source # 

Methods

exactP :: QName SrcSpanInfo -> EP ()

ExactP SpecialCon Source # 

Methods

exactP :: SpecialCon SrcSpanInfo -> EP ()

ExactP ModuleName Source # 

Methods

exactP :: ModuleName SrcSpanInfo -> EP ()