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

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

class Annotated ast => ExactP (ast :: Type -> Type) Source #

Minimal complete definition

exactP

#### Instances

Instances details

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