 | haskell-src-exts-1.9.6: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer | Contents | Index |
|
Language.Haskell.Exts.Annotated.Simplify | Portability | portable
| Stability | experimental
| Maintainer | Niklas Broberg, d00nibro@chalmers.se
|
|
|
|
Description |
This module contains code for translating from the annotated
complex AST in Language.Haskell.Exts.Annotated.Syntax
to the simpler, sparsely annotated AST in Language.Haskell.Exts.Syntax.
A function sXYZ translates an annotated AST node of type XYZ l into
a simple AST node of type XYZ. I would have prefered to use a MPTC
with an fd/type family to get a single exported function name, but
I wish to stay Haskell 2010 compliant. Let's hope for Haskell 2011.
|
|
Synopsis |
|
|
|
Documentation |
|
sModule :: SrcInfo loc => Module loc -> Module |
Translate an annotated AST node representing a Haskell module, into
a simpler version that retains (almost) only abstract information.
In particular, XML and hybrid XML pages enabled by the XmlSyntax extension
are translated into standard Haskell modules with a page function.
|
|
sDecl :: SrcInfo loc => Decl loc -> Decl |
Translate an annotated AST node representing a Haskell declaration
into a simpler version. Note that in the simpler version, all declaration
nodes are still annotated by SrcLocs.
|
|
sAnnotation :: SrcInfo loc => Annotation loc -> Annotation |
|
sModuleName :: ModuleName l -> ModuleName |
|
sSpecialCon :: SpecialCon l -> SpecialCon |
|
sQName :: QName l -> QName |
|
sName :: Name l -> Name |
|
sIPName :: IPName l -> IPName |
|
sQOp :: QOp l -> QOp |
|
sOp :: Op l -> Op |
|
sCName :: CName l -> CName |
|
sModuleHead :: Maybe (ModuleHead l) -> (ModuleName, Maybe WarningText, Maybe [ExportSpec]) |
|
sExportSpecList :: ExportSpecList l -> [ExportSpec] |
|
sExportSpec :: ExportSpec l -> ExportSpec |
|
sImportDecl :: SrcInfo loc => ImportDecl loc -> ImportDecl |
|
sImportSpecList :: ImportSpecList l -> (Bool, [ImportSpec]) |
|
sImportSpec :: ImportSpec l -> ImportSpec |
|
sAssoc :: Assoc l -> Assoc |
|
sDeclHead :: DeclHead l -> (Name, [TyVarBind]) |
|
sInstHead :: InstHead l -> (QName, [Type]) |
|
sDataOrNew :: DataOrNew l -> DataOrNew |
|
sDeriving :: Deriving l -> [(QName, [Type])] |
|
sBinds :: SrcInfo loc => Binds loc -> Binds |
|
sIPBind :: SrcInfo loc => IPBind loc -> IPBind |
|
sMatch :: SrcInfo loc => Match loc -> Match |
|
sQualConDecl :: SrcInfo loc => QualConDecl loc -> QualConDecl |
|
sConDecl :: ConDecl l -> ConDecl |
|
sFieldDecl :: FieldDecl l -> ([Name], BangType) |
|
sGadtDecl :: SrcInfo loc => GadtDecl loc -> GadtDecl |
|
sClassDecl :: SrcInfo loc => ClassDecl loc -> ClassDecl |
|
sInstDecl :: SrcInfo loc => InstDecl loc -> InstDecl |
|
sBangType :: BangType l -> BangType |
|
sRhs :: SrcInfo loc => Rhs loc -> Rhs |
|
sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> GuardedRhs |
|
sType :: Type l -> Type |
|
sTyVarBind :: TyVarBind l -> TyVarBind |
|
sKind :: Kind l -> Kind |
|
sFunDep :: FunDep l -> FunDep |
|
sContext :: Context l -> Context |
|
sAsst :: Asst l -> Asst |
|
sLiteral :: Literal l -> Literal |
|
sExp :: SrcInfo loc => Exp loc -> Exp |
|
sXName :: XName l -> XName |
|
sXAttr :: SrcInfo loc => XAttr loc -> XAttr |
|
sBracket :: SrcInfo loc => Bracket loc -> Bracket |
|
sSplice :: SrcInfo loc => Splice loc -> Splice |
|
sSafety :: Safety l -> Safety |
|
sCallConv :: CallConv l -> CallConv |
|
sModulePragma :: SrcInfo loc => ModulePragma loc -> ModulePragma |
|
sActivation :: Activation l -> Activation |
|
sRule :: SrcInfo loc => Rule loc -> Rule |
|
sRuleVar :: RuleVar l -> RuleVar |
|
sWarningText :: WarningText l -> WarningText |
|
sPat :: SrcInfo loc => Pat loc -> Pat |
|
sPXAttr :: SrcInfo loc => PXAttr loc -> PXAttr |
|
sRPatOp :: RPatOp l -> RPatOp |
|
sRPat :: SrcInfo loc => RPat loc -> RPat |
|
sPatField :: SrcInfo loc => PatField loc -> PatField |
|
sStmt :: SrcInfo loc => Stmt loc -> Stmt |
|
sQualStmt :: SrcInfo loc => QualStmt loc -> QualStmt |
|
sFieldUpdate :: SrcInfo loc => FieldUpdate loc -> FieldUpdate |
|
sAlt :: SrcInfo loc => Alt loc -> Alt |
|
sGuardedAlts :: SrcInfo loc => GuardedAlts loc -> GuardedAlts |
|
sGuardedAlt :: SrcInfo loc => GuardedAlt loc -> GuardedAlt |
|
Produced by Haddock version 2.7.2 |