-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer -- -- Haskell-Source with Extensions (HSE, haskell-src-exts) is an extension -- of the standard haskell-src package, and handles most registered -- syntactic extensions to Haskell, including: -- -- -- -- and a few more. All extensions implemented in GHC are supported. Apart -- from these standard extensions, it also handles regular patterns as -- per the HaRP extension as well as HSX-style embedded XML syntax. @package haskell-src-exts @version 1.17.0 -- | A suite of datatypes describing the (semi-concrete) abstract syntax of -- Haskell 98 http://www.haskell.org/onlinereport/ plus registered -- extensions, including: -- -- -- -- All nodes in the syntax tree are annotated with something of a -- user-definable data type. When parsing, this annotation will contain -- information about the source location that the particular node comes -- from. module Language.Haskell.Exts.Annotated.Syntax -- | A complete Haskell source module. data Module l -- | an ordinary Haskell module Module :: l -> (Maybe (ModuleHead l)) -> [ModulePragma l] -> [ImportDecl l] -> [Decl l] -> Module l -- | a module consisting of a single XML document. The ModuleName never -- appears in the source but is needed for semantic purposes, it will be -- the same as the file name. XmlPage :: l -> (ModuleName l) -> [ModulePragma l] -> (XName l) -> [XAttr l] -> (Maybe (Exp l)) -> [Exp l] -> Module l -- | a hybrid module combining an XML document with an ordinary module XmlHybrid :: l -> (Maybe (ModuleHead l)) -> [ModulePragma l] -> [ImportDecl l] -> [Decl l] -> (XName l) -> [XAttr l] -> (Maybe (Exp l)) -> [Exp l] -> Module l -- | The head of a module, including the name and export specification. data ModuleHead l ModuleHead :: l -> (ModuleName l) -> (Maybe (WarningText l)) -> (Maybe (ExportSpecList l)) -> ModuleHead l -- | Warning text to optionally use in the module header of e.g. a -- deprecated module. data WarningText l DeprText :: l -> String -> WarningText l WarnText :: l -> String -> WarningText l -- | An explicit export specification. data ExportSpecList l ExportSpecList :: l -> [ExportSpec l] -> ExportSpecList l -- | An item in a module's export specification. data ExportSpec l -- | variable. EVar :: l -> (QName l) -> ExportSpec l -- | T: a class or datatype exported abstractly, or a type -- synonym. EAbs :: l -> (Namespace l) -> (QName l) -> ExportSpec l -- | T(..): a class exported with all of its methods, or a -- datatype exported with all of its constructors. EThingAll :: l -> (QName l) -> ExportSpec l -- | T(C_1,...,C_n): a class exported with some of its methods, or -- a datatype exported with some of its constructors. EThingWith :: l -> (QName l) -> [CName l] -> ExportSpec l -- | module M: re-export a module. EModuleContents :: l -> (ModuleName l) -> ExportSpec l -- | An import declaration. data ImportDecl l ImportDecl :: l -> ModuleName l -> Bool -> Bool -> Bool -> Maybe String -> Maybe (ModuleName l) -> Maybe (ImportSpecList l) -> ImportDecl l -- | annotation, used by parser for position of the import -- keyword. [importAnn] :: ImportDecl l -> l -- | name of the module imported. [importModule] :: ImportDecl l -> ModuleName l -- | imported qualified? [importQualified] :: ImportDecl l -> Bool -- | imported with {-# SOURCE #-}? [importSrc] :: ImportDecl l -> Bool -- | Import safe? [importSafe] :: ImportDecl l -> Bool -- | imported with explicit package name [importPkg] :: ImportDecl l -> Maybe String -- | optional alias name in an as clause. [importAs] :: ImportDecl l -> Maybe (ModuleName l) -- | optional list of import specifications. [importSpecs] :: ImportDecl l -> Maybe (ImportSpecList l) -- | An explicit import specification list. data ImportSpecList l ImportSpecList :: l -> Bool -> [ImportSpec l] -> ImportSpecList l -- | An import specification, representing a single explicit item imported -- (or hidden) from a module. data ImportSpec l -- | variable IVar :: l -> (Name l) -> ImportSpec l -- | T: the name of a class, datatype or type synonym. IAbs :: l -> (Namespace l) -> (Name l) -> ImportSpec l -- | T(..): a class imported with all of its methods, or a -- datatype imported with all of its constructors. IThingAll :: l -> (Name l) -> ImportSpec l -- | T(C_1,...,C_n): a class imported with some of its methods, or -- a datatype imported with some of its constructors. IThingWith :: l -> (Name l) -> [CName l] -> ImportSpec l -- | Associativity of an operator. data Assoc l -- | non-associative operator (declared with infix) AssocNone :: l -> Assoc l -- | left-associative operator (declared with infixl). AssocLeft :: l -> Assoc l -- | right-associative operator (declared with infixr) AssocRight :: l -> Assoc l -- | Namespaces for imports/exports. data Namespace l NoNamespace :: l -> Namespace l TypeNamespace :: l -> Namespace l PatternNamespace :: l -> Namespace l -- | A top-level declaration. data Decl l -- | A type declaration TypeDecl :: l -> (DeclHead l) -> (Type l) -> Decl l -- | A type family declaration TypeFamDecl :: l -> (DeclHead l) -> (Maybe (Kind l)) -> Decl l -- | A closed type family declaration ClosedTypeFamDecl :: l -> (DeclHead l) -> (Maybe (Kind l)) -> [TypeEqn l] -> Decl l -- | A data OR newtype declaration DataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (DeclHead l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> Decl l -- | A data OR newtype declaration, GADT style GDataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> Decl l -- | A data family declaration DataFamDecl :: l -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> Decl l -- | A type family instance declaration TypeInsDecl :: l -> (Type l) -> (Type l) -> Decl l -- | A data family instance declaration DataInsDecl :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> Decl l -- | A data family instance declaration, GADT style GDataInsDecl :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> Decl l -- | A declaration of a type class ClassDecl :: l -> (Maybe (Context l)) -> (DeclHead l) -> [FunDep l] -> (Maybe [ClassDecl l]) -> Decl l -- | An declaration of a type class instance InstDecl :: l -> (Maybe (Overlap l)) -> (InstRule l) -> (Maybe [InstDecl l]) -> Decl l -- | A standalone deriving declaration DerivDecl :: l -> (Maybe (Overlap l)) -> (InstRule l) -> Decl l -- | A declaration of operator fixity InfixDecl :: l -> (Assoc l) -> (Maybe Int) -> [Op l] -> Decl l -- | A declaration of default types DefaultDecl :: l -> [Type l] -> Decl l -- | A Template Haskell splicing declaration SpliceDecl :: l -> (Exp l) -> Decl l -- | A type signature declaration TypeSig :: l -> [Name l] -> (Type l) -> Decl l -- | A pattern synonym signature declation PatSynSig :: l -> (Name l) -> (Maybe [TyVarBind l]) -> (Maybe (Context l)) -> (Maybe (Context l)) -> (Type l) -> Decl l -- | A set of function binding clauses FunBind :: l -> [Match l] -> Decl l -- | A pattern binding PatBind :: l -> (Pat l) -> (Rhs l) -> (Maybe (Binds l)) -> Decl l -- | A pattern synonym binding PatSyn :: l -> (Pat l) -> (Pat l) -> (PatternSynDirection l) -> Decl l -- | A foreign import declaration ForImp :: l -> (CallConv l) -> (Maybe (Safety l)) -> (Maybe String) -> (Name l) -> (Type l) -> Decl l -- | A foreign export declaration ForExp :: l -> (CallConv l) -> (Maybe String) -> (Name l) -> (Type l) -> Decl l -- | A RULES pragma RulePragmaDecl :: l -> [Rule l] -> Decl l -- | A DEPRECATED pragma DeprPragmaDecl :: l -> [([Name l], String)] -> Decl l -- | A WARNING pragma WarnPragmaDecl :: l -> [([Name l], String)] -> Decl l -- | An INLINE pragma InlineSig :: l -> Bool -> (Maybe (Activation l)) -> (QName l) -> Decl l -- | An INLINE CONLIKE pragma InlineConlikeSig :: l -> (Maybe (Activation l)) -> (QName l) -> Decl l -- | A SPECIALISE pragma SpecSig :: l -> (Maybe (Activation l)) -> (QName l) -> [Type l] -> Decl l -- | A SPECIALISE INLINE pragma SpecInlineSig :: l -> Bool -> (Maybe (Activation l)) -> (QName l) -> [Type l] -> Decl l -- | A SPECIALISE instance pragma InstSig :: l -> (InstRule l) -> Decl l -- | An ANN pragma AnnPragma :: l -> (Annotation l) -> Decl l -- | A MINIMAL pragma MinimalPragma :: l -> (Maybe (BooleanFormula l)) -> Decl l -- | A role annotation RoleAnnotDecl :: l -> (QName l) -> [Role l] -> Decl l -- | The head of a type or class declaration, which consists of the type or -- class name applied to some type variables -- -- class C a b is represented as -- --
--   DHApp
--      ()
--      (DHApp
--         () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))
--      (UnkindedVar () (Ident () "b"))
--   
-- -- (where the annotation type l is instantiated with -- ()) -- -- class (a :< b) c is represented as -- --
--   DHApp
--      ()
--      (DHParen
--         ()
--         (DHApp
--            ()
--            (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))
--            (UnkindedVar () (Ident () "b"))))
--      (UnkindedVar () (Ident () "c"))
--   
data DeclHead l -- | type or class name DHead :: l -> (Name l) -> DeclHead l -- | infix application of the type/class name to the left operand DHInfix :: l -> (TyVarBind l) -> (Name l) -> DeclHead l -- | parenthesized declaration head DHParen :: l -> (DeclHead l) -> DeclHead l -- | application to one more type variable DHApp :: l -> (DeclHead l) -> (TyVarBind l) -> DeclHead l -- | The instance declaration rule, which is, roughly, the part of the -- instance declaration before the where keyword. -- -- Example: instance Ord a => Ord (Maybe a) is represented as -- --
--   IRule
--      ()
--      Nothing
--      (Just
--         (CxSingle
--            ()
--            (ClassA
--               () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))
--      (IHApp
--         ()
--         (IHCon () (UnQual () (Ident () "Ord")))
--         (TyParen
--            ()
--            (TyApp
--               ()
--               (TyCon () (UnQual () (Ident () "Maybe")))
--               (TyVar () (Ident () "a")))))
--   
-- -- An optional explicit forall after instance is supported: -- instance forall a . Ord a => Ord (Maybe a) where becomes -- --
--   IRule
--      ()
--      (Just [ UnkindedVar () (Ident () "a") ])
--      ...
--   
data InstRule l IRule :: l -> (Maybe [TyVarBind l]) -> (Maybe (Context l)) -> (InstHead l) -> InstRule l IParen :: l -> (InstRule l) -> InstRule l -- | The instance head. The split between rule/head allow us to represent -- instance (Bounded a => Bounded [a]) where faithfully. -- -- The structure of InstHead follows one of DeclHead. -- -- For example, instance C (Maybe a) Int where is represented as -- --
--   IHApp
--      ()
--      (IHApp
--         ()
--         (IHCon () (UnQual () (Ident () "C")))
--         (TyParen
--            ()
--            (TyApp
--               ()
--               (TyCon () (UnQual () (Ident () "Maybe")))
--               (TyVar () (Ident () "a")))))
--      (TyCon () (UnQual () (Ident () "Int")))))
--   
data InstHead l -- | type or class name IHCon :: l -> (QName l) -> InstHead l -- | infix application of the type/class name to the left operand IHInfix :: l -> (Type l) -> (QName l) -> InstHead l -- | parenthesized instance head IHParen :: l -> (InstHead l) -> InstHead l -- | application to one more type IHApp :: l -> (InstHead l) -> (Type l) -> InstHead l -- | A binding group inside a let or where clause. data Binds l -- | An ordinary binding group BDecls :: l -> [Decl l] -> Binds l -- | A binding group for implicit parameters IPBinds :: l -> [IPBind l] -> Binds l -- | A binding of an implicit parameter. data IPBind l IPBind :: l -> (IPName l) -> (Exp l) -> IPBind l data PatternSynDirection l -- | A unidirectional pattern synonym with "<-" Unidirectional :: PatternSynDirection l -- | A bidirectional pattern synonym with "=" ImplicitBidirectional :: PatternSynDirection l -- | A birectional pattern synonym with the construction specified. ExplicitBidirectional :: l -> [Decl l] -> PatternSynDirection l -- | Declarations inside a class declaration. data ClassDecl l -- | ordinary declaration ClsDecl :: l -> (Decl l) -> ClassDecl l -- | declaration of an associated data type ClsDataFam :: l -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> ClassDecl l -- | declaration of an associated type synonym ClsTyFam :: l -> (DeclHead l) -> (Maybe (Kind l)) -> ClassDecl l -- | default choice for an associated type synonym ClsTyDef :: l -> (Type l) -> (Type l) -> ClassDecl l -- | default signature ClsDefSig :: l -> (Name l) -> (Type l) -> ClassDecl l -- | Declarations inside an instance declaration. data InstDecl l -- | ordinary declaration InsDecl :: l -> (Decl l) -> InstDecl l -- | an associated type definition InsType :: l -> (Type l) -> (Type l) -> InstDecl l -- | an associated data type implementation InsData :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> InstDecl l -- | an associated data type implemented using GADT style InsGData :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> InstDecl l -- | A deriving clause following a data type declaration. data Deriving l Deriving :: l -> [InstRule l] -> Deriving l -- | A flag stating whether a declaration is a data or newtype declaration. data DataOrNew l DataType :: l -> DataOrNew l NewType :: l -> DataOrNew l -- | Declaration of an ordinary data constructor. data ConDecl l -- | ordinary data constructor ConDecl :: l -> (Name l) -> [Type l] -> ConDecl l -- | infix data constructor InfixConDecl :: l -> (Type l) -> (Name l) -> (Type l) -> ConDecl l -- | record constructor RecDecl :: l -> (Name l) -> [FieldDecl l] -> ConDecl l -- | Declaration of a (list of) named field(s). data FieldDecl l FieldDecl :: l -> [Name l] -> (Type l) -> FieldDecl l -- | A single constructor declaration within a data type declaration, which -- may have an existential quantification binding. data QualConDecl l QualConDecl :: l -> (Maybe [TyVarBind l]) -> (Maybe (Context l)) -> (ConDecl l) -> QualConDecl l -- | A single constructor declaration in a GADT data type declaration. -- -- If the GADT is declared using the record syntax, e.g. -- --
--   data Ty where
--     TCon :: { field1 :: Int, field2 :: Bool } -> Ty
--   
-- -- then the fields are stored as a list of FieldDecls, and the -- final type (Ty in the above example) is stored in the last -- Type field. -- -- If the GADT is declared using the ordinary syntax, e.g. -- --
--   data Ty where
--     TCon :: Int -> Bool -> Ty
--   
-- -- then Maybe [FieldDecl l] is Nothing, and -- the whole constructor's type (such as Int -> Bool -> -- Ty) is stored in the last Type field. data GadtDecl l GadtDecl :: l -> (Name l) -> (Maybe [FieldDecl l]) -> (Type l) -> GadtDecl l -- | The type of a constructor argument or field, optionally including a -- strictness annotation. data BangType l -- | strict component, marked with "!" BangedTy :: l -> BangType l -- | unboxed component, marked with an UNPACK pragma UnpackedTy :: l -> BangType l -- | Clauses of a function binding. data Match l -- | A clause defined with prefix notation, i.e. the function name followed -- by its argument patterns, the right-hand side and an optional where -- clause. Match :: l -> (Name l) -> [Pat l] -> (Rhs l) -> (Maybe (Binds l)) -> Match l -- | A clause defined with infix notation, i.e. first its first argument -- pattern, then the function name, then its following argument(s), the -- right-hand side and an optional where clause. Note that there can be -- more than two arguments to a function declared infix, hence the list -- of pattern arguments. InfixMatch :: l -> (Pat l) -> (Name l) -> [Pat l] -> (Rhs l) -> (Maybe (Binds l)) -> Match l -- | The right hand side of a function binding, pattern binding, or a case -- alternative. data Rhs l -- | unguarded right hand side (exp) UnGuardedRhs :: l -> (Exp l) -> Rhs l -- | guarded right hand side (gdrhs) GuardedRhss :: l -> [GuardedRhs l] -> Rhs l -- | A guarded right hand side | stmts = -- exp, or | stmts -> exp for -- case alternatives. The guard is a series of statements when using -- pattern guards, otherwise it will be a single qualifier expression. data GuardedRhs l GuardedRhs :: l -> [Stmt l] -> (Exp l) -> GuardedRhs l -- | A context is a set of assertions data Context l CxSingle :: l -> (Asst l) -> Context l CxTuple :: l -> [Asst l] -> Context l CxEmpty :: l -> Context l -- | A functional dependency, given on the form l1 l2 ... ln -> r2 r3 .. -- rn data FunDep l FunDep :: l -> [Name l] -> [Name l] -> FunDep l -- | Class assertions. In Haskell 98, the argument would be a tyvar, -- but this definition allows multiple parameters, and allows them to be -- types. Also extended with support for implicit parameters and -- equality constraints. data Asst l -- | ordinary class assertion ClassA :: l -> (QName l) -> [Type l] -> Asst l -- | constraint kind assertion, Dict :: cxt a => Dict cxt AppA :: l -> (Name l) -> [Type l] -> Asst l -- | class assertion where the class name is given infix InfixA :: l -> (Type l) -> (QName l) -> (Type l) -> Asst l -- | implicit parameter assertion IParam :: l -> (IPName l) -> (Type l) -> Asst l -- | type equality constraint EqualP :: l -> (Type l) -> (Type l) -> Asst l -- | parenthesised class assertion ParenA :: l -> (Asst l) -> Asst l -- | Context Wildcard WildCardA :: l -> (Maybe (Name l)) -> Asst l -- | A type qualified with a context. An unqualified type has an empty -- context. data Type l -- | qualified type TyForall :: l -> (Maybe [TyVarBind l]) -> (Maybe (Context l)) -> (Type l) -> Type l -- | function type TyFun :: l -> (Type l) -> (Type l) -> Type l -- | tuple type, possibly boxed TyTuple :: l -> Boxed -> [Type l] -> Type l -- | list syntax, e.g. [a], as opposed to [] a TyList :: l -> (Type l) -> Type l -- | parallel array syntax, e.g. [:a:] TyParArray :: l -> (Type l) -> Type l -- | application of a type constructor TyApp :: l -> (Type l) -> (Type l) -> Type l -- | type variable TyVar :: l -> (Name l) -> Type l -- | named type or type constructor TyCon :: l -> (QName l) -> Type l -- | type surrounded by parentheses TyParen :: l -> (Type l) -> Type l -- | infix type constructor TyInfix :: l -> (Type l) -> (QName l) -> (Type l) -> Type l -- | type with explicit kind signature TyKind :: l -> (Type l) -> (Kind l) -> Type l -- | 'K, a promoted data type (-XDataKinds). TyPromoted :: l -> (Promoted l) -> Type l -- | type equality predicate enabled by ConstraintKinds TyEquals :: l -> (Type l) -> (Type l) -> Type l -- | template haskell splice type TySplice :: l -> (Splice l) -> Type l -- | Strict type marked with "!" or type marked with UNPACK -- pragma. TyBang :: l -> (BangType l) -> (Type l) -> Type l -- | Either an anonymous of named type wildcard TyWildCard :: l -> (Maybe (Name l)) -> Type l -- | Flag denoting whether a tuple is boxed or unboxed. data Boxed Boxed :: Boxed Unboxed :: Boxed -- | An explicit kind annotation. data Kind l -- | *, the kind of types KindStar :: l -> Kind l -- | ->, the kind of a type constructor KindFn :: l -> (Kind l) -> (Kind l) -> Kind l -- | a parenthesised kind KindParen :: l -> (Kind l) -> Kind l -- | k, a kind variable (-XPolyKinds) KindVar :: l -> (QName l) -> Kind l -- |
--   k1 k2
--   
KindApp :: l -> (Kind l) -> (Kind l) -> Kind l -- | '(k1,k2,k3), a promoted tuple KindTuple :: l -> [Kind l] -> Kind l -- | '[k1], a promoted list literal KindList :: l -> (Kind l) -> Kind l -- | A type variable declaration, optionally with an explicit kind -- annotation. data TyVarBind l -- | variable binding with kind annotation KindedVar :: l -> (Name l) -> (Kind l) -> TyVarBind l -- | ordinary variable binding UnkindedVar :: l -> (Name l) -> TyVarBind l -- | Bools here are True if there was a leading quote which may be left -- out. For example '[k1,k2] means the same thing as -- [k1,k2]. data Promoted l -- | parsed value and raw string PromotedInteger :: l -> Integer -> String -> Promoted l -- | parsed value and raw string PromotedString :: l -> String -> String -> Promoted l PromotedCon :: l -> Bool -> (QName l) -> Promoted l PromotedList :: l -> Bool -> [Type l] -> Promoted l PromotedTuple :: l -> [Type l] -> Promoted l PromotedUnit :: l -> Promoted l -- | A type equation as found in closed type families. data TypeEqn l TypeEqn :: l -> (Type l) -> (Type l) -> TypeEqn l -- | Haskell expressions. data Exp l -- | variable Var :: l -> (QName l) -> Exp l -- | implicit parameter variable IPVar :: l -> (IPName l) -> Exp l -- | data constructor Con :: l -> (QName l) -> Exp l -- | literal constant Lit :: l -> (Literal l) -> Exp l -- | infix application InfixApp :: l -> (Exp l) -> (QOp l) -> (Exp l) -> Exp l -- | ordinary application App :: l -> (Exp l) -> (Exp l) -> Exp l -- | negation expression -exp (unary minus) NegApp :: l -> (Exp l) -> Exp l -- | lambda expression Lambda :: l -> [Pat l] -> (Exp l) -> Exp l -- | local declarations with let ... in ... Let :: l -> (Binds l) -> (Exp l) -> Exp l -- | if exp then exp else -- exp If :: l -> (Exp l) -> (Exp l) -> (Exp l) -> Exp l -- | if | stmts -> exp ... MultiIf :: l -> [GuardedRhs l] -> Exp l -- | case exp of alts Case :: l -> (Exp l) -> [Alt l] -> Exp l -- | do-expression: the last statement in the list should be an -- expression. Do :: l -> [Stmt l] -> Exp l -- | mdo-expression MDo :: l -> [Stmt l] -> Exp l -- | tuple expression Tuple :: l -> Boxed -> [Exp l] -> Exp l -- | tuple section expression, e.g. (,,3) TupleSection :: l -> Boxed -> [Maybe (Exp l)] -> Exp l -- | list expression List :: l -> [Exp l] -> Exp l -- | parallel array expression ParArray :: l -> [Exp l] -> Exp l -- | parenthesised expression Paren :: l -> (Exp l) -> Exp l -- | left section (exp qop) LeftSection :: l -> (Exp l) -> (QOp l) -> Exp l -- | right section (qop exp) RightSection :: l -> (QOp l) -> (Exp l) -> Exp l -- | record construction expression RecConstr :: l -> (QName l) -> [FieldUpdate l] -> Exp l -- | record update expression RecUpdate :: l -> (Exp l) -> [FieldUpdate l] -> Exp l -- | unbounded arithmetic sequence, incrementing by 1: [from ..] EnumFrom :: l -> (Exp l) -> Exp l -- | bounded arithmetic sequence, incrementing by 1 [from .. to] EnumFromTo :: l -> (Exp l) -> (Exp l) -> Exp l -- | unbounded arithmetic sequence, with first two elements given -- [from, then ..] EnumFromThen :: l -> (Exp l) -> (Exp l) -> Exp l -- | bounded arithmetic sequence, with first two elements given [from, -- then .. to] EnumFromThenTo :: l -> (Exp l) -> (Exp l) -> (Exp l) -> Exp l -- | Parallel array bounded arithmetic sequence, incrementing by 1 -- [:from .. to:] ParArrayFromTo :: l -> (Exp l) -> (Exp l) -> Exp l -- | bounded arithmetic sequence, with first two elements given [:from, -- then .. to:] ParArrayFromThenTo :: l -> (Exp l) -> (Exp l) -> (Exp l) -> Exp l -- | ordinary list comprehension ListComp :: l -> (Exp l) -> [QualStmt l] -> Exp l -- | parallel list comprehension ParComp :: l -> (Exp l) -> [[QualStmt l]] -> Exp l -- | parallel array comprehension ParArrayComp :: l -> (Exp l) -> [[QualStmt l]] -> Exp l -- | expression with explicit type signature ExpTypeSig :: l -> (Exp l) -> (Type l) -> Exp l -- | 'x for template haskell reifying of expressions VarQuote :: l -> (QName l) -> Exp l -- | ''T for template haskell reifying of types TypQuote :: l -> (QName l) -> Exp l -- | template haskell bracket expression BracketExp :: l -> (Bracket l) -> Exp l -- | template haskell splice expression SpliceExp :: l -> (Splice l) -> Exp l -- | quasi-quotaion: [$name| string |] QuasiQuote :: l -> String -> String -> Exp l -- | xml element, with attributes and children XTag :: l -> (XName l) -> [XAttr l] -> (Maybe (Exp l)) -> [Exp l] -> Exp l -- | empty xml element, with attributes XETag :: l -> (XName l) -> [XAttr l] -> (Maybe (Exp l)) -> Exp l -- | PCDATA child element XPcdata :: l -> String -> Exp l -- | escaped haskell expression inside xml XExpTag :: l -> (Exp l) -> Exp l -- | children of an xml element XChildTag :: l -> [Exp l] -> Exp l -- | CORE pragma CorePragma :: l -> String -> (Exp l) -> Exp l -- | SCC pragma SCCPragma :: l -> String -> (Exp l) -> Exp l -- | GENERATED pragma GenPragma :: l -> String -> (Int, Int) -> (Int, Int) -> (Exp l) -> Exp l -- | arrows proc: proc pat -> exp Proc :: l -> (Pat l) -> (Exp l) -> Exp l -- | arrow application (from left): exp -< exp LeftArrApp :: l -> (Exp l) -> (Exp l) -> Exp l -- | arrow application (from right): exp >- exp RightArrApp :: l -> (Exp l) -> (Exp l) -> Exp l -- | higher-order arrow application (from left): exp -- -<< exp LeftArrHighApp :: l -> (Exp l) -> (Exp l) -> Exp l -- | higher-order arrow application (from right): exp -- >>- exp RightArrHighApp :: l -> (Exp l) -> (Exp l) -> Exp l -- | case alts LCase :: l -> [Alt l] -> Exp l -- | Expression hole ExprHole :: l -> Exp l -- | A statement, representing both a stmt in a -- do-expression, an ordinary qual in a list -- comprehension, as well as a stmt in a pattern guard. data Stmt l -- | a generator: pat <- exp Generator :: l -> (Pat l) -> (Exp l) -> Stmt l -- | an exp by itself: in a do-expression, an action whose -- result is discarded; in a list comprehension and pattern guard, a -- guard expression Qualifier :: l -> (Exp l) -> Stmt l -- | local bindings LetStmt :: l -> (Binds l) -> Stmt l -- | a recursive binding group for arrows RecStmt :: l -> [Stmt l] -> Stmt l -- | A general transqual in a list comprehension, which could -- potentially be a transform of the kind enabled by TransformListComp. data QualStmt l -- | an ordinary statement QualStmt :: l -> (Stmt l) -> QualStmt l -- | then exp ThenTrans :: l -> (Exp l) -> QualStmt l -- | then exp by exp ThenBy :: l -> (Exp l) -> (Exp l) -> QualStmt l -- | then group by exp GroupBy :: l -> (Exp l) -> QualStmt l -- | then group using exp GroupUsing :: l -> (Exp l) -> QualStmt l -- | then group by exp using -- exp GroupByUsing :: l -> (Exp l) -> (Exp l) -> QualStmt l -- | An fbind in a labeled construction or update expression. data FieldUpdate l -- | ordinary label-expresion pair FieldUpdate :: l -> (QName l) -> (Exp l) -> FieldUpdate l -- | record field pun FieldPun :: l -> (QName l) -> FieldUpdate l -- | record field wildcard FieldWildcard :: l -> FieldUpdate l -- | An alt alternative in a case expression. data Alt l Alt :: l -> (Pat l) -> (Rhs l) -> (Maybe (Binds l)) -> Alt l -- | An xml attribute, which is a name-expression pair. data XAttr l XAttr :: l -> (XName l) -> (Exp l) -> XAttr l -- | A pattern, to be matched against a value. data Pat l -- | variable PVar :: l -> (Name l) -> Pat l -- | literal constant PLit :: l -> (Sign l) -> (Literal l) -> Pat l -- | n+k pattern PNPlusK :: l -> (Name l) -> Integer -> Pat l -- | pattern with an infix data constructor PInfixApp :: l -> (Pat l) -> (QName l) -> (Pat l) -> Pat l -- | data constructor and argument patterns PApp :: l -> (QName l) -> [Pat l] -> Pat l -- | tuple pattern PTuple :: l -> Boxed -> [Pat l] -> Pat l -- | list pattern PList :: l -> [Pat l] -> Pat l -- | parenthesized pattern PParen :: l -> (Pat l) -> Pat l -- | labelled pattern, record style PRec :: l -> (QName l) -> [PatField l] -> Pat l -- | @-pattern PAsPat :: l -> (Name l) -> (Pat l) -> Pat l -- | wildcard pattern: _ PWildCard :: l -> Pat l -- | irrefutable pattern: ~pat PIrrPat :: l -> (Pat l) -> Pat l -- | pattern with type signature PatTypeSig :: l -> (Pat l) -> (Type l) -> Pat l -- | view patterns of the form (exp -> pat) PViewPat :: l -> (Exp l) -> (Pat l) -> Pat l -- | regular list pattern PRPat :: l -> [RPat l] -> Pat l -- | XML element pattern PXTag :: l -> (XName l) -> [PXAttr l] -> (Maybe (Pat l)) -> [Pat l] -> Pat l -- | XML singleton element pattern PXETag :: l -> (XName l) -> [PXAttr l] -> (Maybe (Pat l)) -> Pat l -- | XML PCDATA pattern PXPcdata :: l -> String -> Pat l -- | XML embedded pattern PXPatTag :: l -> (Pat l) -> Pat l -- | XML regular list pattern PXRPats :: l -> [RPat l] -> Pat l -- | quasi quote pattern: [$name| string |] PQuasiQuote :: l -> String -> String -> Pat l -- | strict (bang) pattern: f !x = ... PBangPat :: l -> (Pat l) -> Pat l -- | An fpat in a labeled record pattern. data PatField l -- | ordinary label-pattern pair PFieldPat :: l -> (QName l) -> (Pat l) -> PatField l -- | record field pun PFieldPun :: l -> (QName l) -> PatField l -- | record field wildcard PFieldWildcard :: l -> PatField l -- | An XML attribute in a pattern. data PXAttr l PXAttr :: l -> (XName l) -> (Pat l) -> PXAttr l -- | An entity in a regular pattern. data RPat l -- | operator pattern, e.g. pat* RPOp :: l -> (RPat l) -> (RPatOp l) -> RPat l -- | choice pattern, e.g. (1 | 2) RPEither :: l -> (RPat l) -> (RPat l) -> RPat l -- | sequence pattern, e.g. (| 1, 2, 3 |) RPSeq :: l -> [RPat l] -> RPat l -- | guarded pattern, e.g. (| p | p < 3 |) RPGuard :: l -> (Pat l) -> [Stmt l] -> RPat l -- | non-linear variable binding, e.g. (foo@:(1 | 2))* RPCAs :: l -> (Name l) -> (RPat l) -> RPat l -- | linear variable binding, e.g. foo@(1 | 2) RPAs :: l -> (Name l) -> (RPat l) -> RPat l -- | parenthesised pattern, e.g. (2*) RPParen :: l -> (RPat l) -> RPat l -- | an ordinary pattern RPPat :: l -> (Pat l) -> RPat l -- | A regular pattern operator. data RPatOp l -- | * = 0 or more RPStar :: l -> RPatOp l -- | *! = 0 or more, greedy RPStarG :: l -> RPatOp l -- | + = 1 or more RPPlus :: l -> RPatOp l -- | +! = 1 or more, greedy RPPlusG :: l -> RPatOp l -- | ? = 0 or 1 RPOpt :: l -> RPatOp l -- | ?! = 0 or 1, greedy RPOptG :: l -> RPatOp l -- | literal Values of this type hold the abstract value of the -- literal, along with the precise string representation used. For -- example, 10, 0o12 and 0xa have the same -- value representation, but each carry a different string -- representation. data Literal l -- | character literal Char :: l -> Char -> String -> Literal l -- | string literal String :: l -> String -> String -> Literal l -- | integer literal Int :: l -> Integer -> String -> Literal l -- | floating point literal Frac :: l -> Rational -> String -> Literal l -- | unboxed integer literal PrimInt :: l -> Integer -> String -> Literal l -- | unboxed word literal PrimWord :: l -> Integer -> String -> Literal l -- | unboxed float literal PrimFloat :: l -> Rational -> String -> Literal l -- | unboxed double literal PrimDouble :: l -> Rational -> String -> Literal l -- | unboxed character literal PrimChar :: l -> Char -> String -> Literal l -- | unboxed string literal PrimString :: l -> String -> String -> Literal l -- | An indication whether a literal pattern has been negated or not. data Sign l Signless :: l -> Sign l Negative :: l -> Sign l -- | The name of a Haskell module. data ModuleName l ModuleName :: l -> String -> ModuleName l -- | This type is used to represent qualified variables, and also qualified -- constructors. data QName l -- | name qualified with a module name Qual :: l -> (ModuleName l) -> (Name l) -> QName l -- | unqualified local name UnQual :: l -> (Name l) -> QName l -- | built-in constructor with special syntax Special :: l -> (SpecialCon l) -> QName l -- | This type is used to represent variables, and also constructors. data Name l -- | varid or conid. Ident :: l -> String -> Name l -- | varsym or consym Symbol :: l -> String -> Name l -- | Possibly qualified infix operators (qop), appearing in -- expressions. data QOp l -- | variable operator (qvarop) QVarOp :: l -> (QName l) -> QOp l -- | constructor operator (qconop) QConOp :: l -> (QName l) -> QOp l -- | Operators appearing in infix declarations are never -- qualified. data Op l -- | variable operator (varop) VarOp :: l -> (Name l) -> Op l -- | constructor operator (conop) ConOp :: l -> (Name l) -> Op l -- | Constructors with special syntax. These names are never qualified, and -- always refer to builtin type or data constructors. data SpecialCon l -- | unit type and data constructor () UnitCon :: l -> SpecialCon l -- | list type constructor [] ListCon :: l -> SpecialCon l -- | function type constructor -> FunCon :: l -> SpecialCon l -- | n-ary tuple type and data constructors (,) etc, -- possibly boxed (#,#) TupleCon :: l -> Boxed -> Int -> SpecialCon l -- | list data constructor (:) Cons :: l -> SpecialCon l -- | unboxed singleton tuple constructor (# #) UnboxedSingleCon :: l -> SpecialCon l -- | A name (cname) of a component of a class or data type in an -- import or export specification. data CName l -- | name of a method or field VarName :: l -> (Name l) -> CName l -- | name of a data constructor ConName :: l -> (Name l) -> CName l -- | An implicit parameter name. data IPName l -- | ?ident, non-linear implicit parameter IPDup :: l -> String -> IPName l -- | %ident, linear implicit parameter IPLin :: l -> String -> IPName l -- | The name of an xml element or attribute, possibly qualified with a -- namespace. data XName l XName :: l -> String -> XName l XDomName :: l -> String -> String -> XName l data Role l Nominal :: l -> Role l Representational :: l -> Role l Phantom :: l -> Role l RoleWildcard :: l -> Role l -- | A template haskell bracket expression. data Bracket l -- | expression bracket: [| ... |] ExpBracket :: l -> (Exp l) -> Bracket l -- | pattern bracket: [p| ... |] PatBracket :: l -> (Pat l) -> Bracket l -- | type bracket: [t| ... |] TypeBracket :: l -> (Type l) -> Bracket l -- | declaration bracket: [d| ... |] DeclBracket :: l -> [Decl l] -> Bracket l -- | A template haskell splice expression data Splice l -- | variable splice: $var IdSplice :: l -> String -> Splice l -- | parenthesised expression splice: $(exp) ParenSplice :: l -> (Exp l) -> Splice l -- | The safety of a foreign function call. data Safety l -- | unsafe PlayRisky :: l -> Safety l -- | safe (False) or threadsafe (True) PlaySafe :: l -> Bool -> Safety l -- | interruptible PlayInterruptible :: l -> Safety l -- | The calling convention of a foreign function call. data CallConv l StdCall :: l -> CallConv l CCall :: l -> CallConv l CPlusPlus :: l -> CallConv l DotNet :: l -> CallConv l Jvm :: l -> CallConv l Js :: l -> CallConv l JavaScript :: l -> CallConv l CApi :: l -> CallConv l -- | A top level options pragma, preceding the module header. data ModulePragma l -- | LANGUAGE pragma LanguagePragma :: l -> [Name l] -> ModulePragma l -- | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC OptionsPragma :: l -> (Maybe Tool) -> String -> ModulePragma l -- | ANN pragma with module scope AnnModulePragma :: l -> (Annotation l) -> ModulePragma l -- | Recognised tools for OPTIONS pragmas. data Tool GHC :: Tool HUGS :: Tool NHC98 :: Tool YHC :: Tool HADDOCK :: Tool UnknownTool :: String -> Tool -- | Recognised overlaps for overlap pragmas. data Overlap l -- | NO_OVERLAP pragma NoOverlap :: l -> Overlap l -- | OVERLAP pragma Overlap :: l -> Overlap l -- | INCOHERENT pragma Incoherent :: l -> Overlap l -- | The body of a RULES pragma. data Rule l Rule :: l -> String -> (Maybe (Activation l)) -> (Maybe [RuleVar l]) -> (Exp l) -> (Exp l) -> Rule l -- | Variables used in a RULES pragma, optionally annotated with types data RuleVar l RuleVar :: l -> (Name l) -> RuleVar l TypedRuleVar :: l -> (Name l) -> (Type l) -> RuleVar l -- | Activation clause of a RULES pragma. data Activation l ActiveFrom :: l -> Int -> Activation l ActiveUntil :: l -> Int -> Activation l -- | An annotation through an ANN pragma. data Annotation l -- | An annotation for a declared name. Ann :: l -> (Name l) -> (Exp l) -> Annotation l -- | An annotation for a declared type. TypeAnn :: l -> (Name l) -> (Exp l) -> Annotation l -- | An annotation for the defining module. ModuleAnn :: l -> (Exp l) -> Annotation l -- | A boolean formula for MINIMAL pragmas. data BooleanFormula l -- | A variable. VarFormula :: l -> (Name l) -> BooleanFormula l -- | And boolean formulas. AndFormula :: l -> [BooleanFormula l] -> BooleanFormula l -- | Or boolean formulas. OrFormula :: l -> [BooleanFormula l] -> BooleanFormula l -- | Parenthesized boolean formulas. ParenFormula :: l -> (BooleanFormula l) -> BooleanFormula l prelude_mod :: l -> ModuleName l main_mod :: l -> ModuleName l main_name :: l -> Name l unit_con_name :: l -> QName l tuple_con_name :: l -> Boxed -> Int -> QName l list_cons_name :: l -> QName l unboxed_singleton_con_name :: l -> QName l unit_con :: l -> Exp l tuple_con :: l -> Boxed -> Int -> Exp l unboxed_singleton_con :: l -> Exp l as_name :: l -> Name l qualified_name :: l -> Name l hiding_name :: l -> Name l minus_name :: l -> Name l bang_name :: l -> Name l dot_name :: l -> Name l star_name :: l -> Name l export_name :: l -> Name l safe_name :: l -> Name l unsafe_name :: l -> Name l interruptible_name :: l -> Name l threadsafe_name :: l -> Name l stdcall_name :: l -> Name l ccall_name :: l -> Name l cplusplus_name :: l -> Name l dotnet_name :: l -> Name l jvm_name :: l -> Name l js_name :: l -> Name l javascript_name :: l -> Name l capi_name :: l -> Name l forall_name :: l -> Name l family_name :: l -> Name l unit_tycon_name :: l -> QName l fun_tycon_name :: l -> QName l list_tycon_name :: l -> QName l tuple_tycon_name :: l -> Boxed -> Int -> QName l unboxed_singleton_tycon_name :: l -> QName l unit_tycon :: l -> Type l fun_tycon :: l -> Type l list_tycon :: l -> Type l tuple_tycon :: l -> Boxed -> Int -> Type l unboxed_singleton_tycon :: l -> Type l -- | AST nodes are annotated, and this class allows manipulation of the -- annotations. class Functor ast => Annotated ast -- | Retrieve the annotation of an AST node. ann :: Annotated ast => ast l -> l -- | Change the annotation of an AST node. Note that only the annotation of -- the node itself is affected, and not the annotations of any child -- nodes. if all nodes in the AST tree are to be affected, use -- fmap. amap :: Annotated ast => (l -> l) -> ast l -> ast l -- | Test if two AST elements are equal modulo annotations. (=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Module instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Module instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Module instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Module instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ModulePragma instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0PXAttr instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1PXAttr instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0XAttr instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1XAttr instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0PatternSynDirection instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0TypeEqn instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1TypeEqn instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Annotation instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0IPBind instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1IPBind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Binds instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Binds instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Binds instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Match instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Match instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Match instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ClassDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3InstHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2InstHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1InstHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0InstHead instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1InstHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1InstRule instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0InstRule instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1InstRule instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Deriving instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Deriving instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ConDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0QualConDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1QualConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0FieldDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1FieldDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0GadtDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1GadtDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0InstDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0GuardedRhs instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1GuardedRhs instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Rhs instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Rhs instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Rhs instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1RuleVar instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0RuleVar instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1RuleVar instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Rule instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Rule instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_32Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_31Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_30Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_29Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_28Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_27Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_26Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_25Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_24Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_23Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_22Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_21Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_20Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_19Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_18Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_17Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_16Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_15Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_14Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_13Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_12Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_11Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_10Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_9Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_8Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Decl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Promoted instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Asst instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Context instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Context instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Context instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Context instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_15Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_14Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_13Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_12Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_11Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_10Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_9Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_8Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Type instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Type instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Bracket instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Splice instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Splice instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Splice instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0QualStmt instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0FieldUpdate instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_52Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_51Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_50Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_49Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_48Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_47Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_46Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_45Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_44Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_43Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_42Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_41Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_40Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_39Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_38Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_37Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_36Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_35Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_34Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_33Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_32Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_31Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_30Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_29Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_28Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_27Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_26Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_25Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_24Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_23Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_22Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_21Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_20Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_19Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_18Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_17Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_16Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_15Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_14Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_13Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_12Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_11Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_10Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_9Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_8Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Exp instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Stmt instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0RPat instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0PatField instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_21Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_20Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_19Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_18Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_17Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_16Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_15Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_14Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_13Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_12Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_11Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_10Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_9Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_8Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Pat instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Alt instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Alt instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0RPatOp instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ModuleHead instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ModuleHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1WarningText instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0WarningText instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1WarningText instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Activation instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Activation instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Activation instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Overlap instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Tool instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Tool instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0CallConv instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Safety instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1XName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0XName instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1XName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Sign instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Sign instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Sign instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_9Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_8Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_7Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Literal instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0FunDep instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1FunDep instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3DeclHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2DeclHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1DeclHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0DeclHead instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1DeclHead instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1TyVarBind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0TyVarBind instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1TyVarBind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_6Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Kind instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1QOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0QOp instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1QOp instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ExportSpecList instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ExportSpecList instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ExportSpec instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2QName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1QName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0QName instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1QName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_5SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_4SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0SpecialCon instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Boxed instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Boxed instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Boxed instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1BangType instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0BangType instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1BangType instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1DataOrNew instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0DataOrNew instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1DataOrNew instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3Role instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Role instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Role instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Role instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Role instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0BooleanFormula instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Assoc instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Assoc instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Assoc instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Assoc instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_7ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_6ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_5ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_4ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_3ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_2ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_1ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Annotated.Syntax.S1_0_0ImportDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ImportDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ImportDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ImportSpecList instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ImportSpecList instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_3ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ImportSpec instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_2Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Namespace instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1CName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0CName instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1CName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Op instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Op instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Op instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1IPName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0IPName instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1IPName instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_1Name instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0Name instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1Name instance GHC.Generics.Constructor Language.Haskell.Exts.Annotated.Syntax.C1_0ModuleName instance GHC.Generics.Datatype Language.Haskell.Exts.Annotated.Syntax.D1ModuleName instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Module l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Module instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Module instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Module instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Module l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Module l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Module l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Module l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ModulePragma l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ModulePragma instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ModulePragma instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ModulePragma instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ModulePragma l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ModulePragma l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ModulePragma l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ModulePragma l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.PXAttr l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.PXAttr l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.PXAttr l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.PXAttr l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.PXAttr l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.XAttr l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.XAttr instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.XAttr instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.XAttr instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.XAttr l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.XAttr l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.XAttr l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.XAttr l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.PatternSynDirection l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.TypeEqn l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.TypeEqn instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.TypeEqn instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.TypeEqn instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.TypeEqn l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.TypeEqn l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.TypeEqn l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.TypeEqn l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Annotation l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Annotation instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Annotation instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Annotation instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Annotation l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Annotation l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Annotation l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Annotation l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.IPBind l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.IPBind instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.IPBind instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.IPBind instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.IPBind l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.IPBind l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.IPBind l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.IPBind l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Binds l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Binds instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Binds instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Binds instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Binds l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Binds l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Binds l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Binds l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Match l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Match instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Match instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Match instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Match l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Match l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Match l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Match l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.InstHead instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.InstHead instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.InstHead instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.InstRule instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.InstRule instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.InstRule instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Deriving instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Deriving instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Deriving instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ConDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ConDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ConDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.QualConDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.QualConDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.QualConDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.FieldDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.FieldDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.FieldDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.GadtDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.GadtDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.GadtDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.InstDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.InstDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.InstDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.InstDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.InstDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Rhs l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Rhs instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Rhs instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Rhs instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Rhs l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Rhs l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Rhs l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Rhs l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.RuleVar instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.RuleVar instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.RuleVar instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Rule l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Rule instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Rule instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Rule instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Rule l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Rule l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Rule l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Rule l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Decl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Decl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Decl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Decl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Decl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Decl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Decl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Decl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Promoted l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Promoted instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Promoted instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Promoted instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Promoted l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Promoted l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Promoted l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Promoted l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Asst instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Asst instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Asst instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Context l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Context instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Context instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Context instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Context l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Context l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Context l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Context l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Type l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Type instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Type instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Type instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Type l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Type l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Type l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Type l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Bracket l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Bracket instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Bracket instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Bracket instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Bracket l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Bracket l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Bracket l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Bracket l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Splice l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Splice instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Splice instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Splice instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Splice l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Splice l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Splice l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Splice l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Exp l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Exp instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Exp instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Exp instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Exp l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Exp l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Exp l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Exp l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Stmt l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Stmt instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Stmt instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Stmt instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Stmt l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Stmt l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Stmt l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Stmt l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.RPat l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.RPat instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.RPat instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.RPat instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.RPat l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.RPat l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.RPat l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.RPat l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.PatField l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.PatField instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.PatField instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.PatField instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.PatField l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.PatField l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.PatField l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.PatField l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Pat l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Pat instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Pat instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Pat instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Pat l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Pat l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Pat l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Pat l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Alt l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Alt instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Alt instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Alt instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Alt l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Alt l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Alt l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Alt l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.RPatOp instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.RPatOp instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.RPatOp instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ModuleHead instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ModuleHead instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ModuleHead instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.WarningText instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.WarningText instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.WarningText instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Activation instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Activation instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Activation instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Overlap l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Overlap instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Overlap instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Overlap instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Overlap l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Overlap l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Overlap l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Overlap l) instance GHC.Generics.Generic Language.Haskell.Exts.Annotated.Syntax.Tool instance Data.Data.Data Language.Haskell.Exts.Annotated.Syntax.Tool instance GHC.Show.Show Language.Haskell.Exts.Annotated.Syntax.Tool instance GHC.Classes.Ord Language.Haskell.Exts.Annotated.Syntax.Tool instance GHC.Classes.Eq Language.Haskell.Exts.Annotated.Syntax.Tool instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.CallConv instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.CallConv instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.CallConv instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Safety instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Safety instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Safety instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.XName l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.XName instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.XName instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.XName instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.XName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.XName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.XName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.XName l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Sign l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Sign instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Sign instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Sign instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Sign l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Sign l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Sign l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Sign l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Literal instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Literal instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Literal instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.FunDep instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.FunDep instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.FunDep instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.DeclHead instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.DeclHead instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.DeclHead instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.TyVarBind instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.TyVarBind instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.TyVarBind instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Kind instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Kind instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Kind instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.QOp instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.QOp instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.QOp instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ExportSpecList instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ExportSpecList instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ExportSpecList instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ExportSpec instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ExportSpec instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ExportSpec instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.QName l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.QName instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.QName instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.QName instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.QName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.QName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.QName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.QName l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.SpecialCon l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.SpecialCon instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.SpecialCon instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.SpecialCon instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.SpecialCon l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.SpecialCon l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.SpecialCon l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.SpecialCon l) instance GHC.Generics.Generic Language.Haskell.Exts.Annotated.Syntax.Boxed instance Data.Data.Data Language.Haskell.Exts.Annotated.Syntax.Boxed instance GHC.Show.Show Language.Haskell.Exts.Annotated.Syntax.Boxed instance GHC.Classes.Ord Language.Haskell.Exts.Annotated.Syntax.Boxed instance GHC.Classes.Eq Language.Haskell.Exts.Annotated.Syntax.Boxed instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.BangType instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.BangType instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.BangType instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.DataOrNew instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.DataOrNew instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.DataOrNew instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Role l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Role instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Role instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Role instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Role l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Role l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Role l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Role l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.BooleanFormula l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.BooleanFormula instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.BooleanFormula instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.BooleanFormula instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.BooleanFormula l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.BooleanFormula l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.BooleanFormula l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.BooleanFormula l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Assoc instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Assoc instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Assoc instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ImportDecl l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ImportDecl instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ImportDecl instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ImportDecl instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ImportDecl l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ImportDecl l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ImportDecl l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ImportDecl l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ImportSpecList instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ImportSpecList instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ImportSpecList instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ImportSpec instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ImportSpec instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ImportSpec instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Namespace l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Namespace instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Namespace instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Namespace instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Namespace l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Namespace l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Namespace l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Namespace l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.CName l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.CName instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.CName instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.CName instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.CName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.CName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.CName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.CName l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Op l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Op instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Op instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Op instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Op l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Op l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Op l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Op l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.IPName instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.IPName instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.IPName instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.Name l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.Name instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.Name instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.Name instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.Name l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.Name l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.Name l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.Name l) instance GHC.Generics.Generic (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Syntax.ModuleName instance Data.Traversable.Traversable Language.Haskell.Exts.Annotated.Syntax.ModuleName instance Data.Foldable.Foldable Language.Haskell.Exts.Annotated.Syntax.ModuleName instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ModuleName instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.SpecialCon instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.QName instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Name instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.IPName instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.QOp instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Op instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.CName instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Module instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ModuleHead instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ExportSpecList instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ExportSpec instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Namespace instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ImportDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ImportSpecList instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ImportSpec instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Assoc instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Deriving instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.TypeEqn instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Decl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Role instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Annotation instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.BooleanFormula instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.DataOrNew instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.DeclHead instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.InstRule instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.InstHead instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Binds instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.IPBind instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Match instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.QualConDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ConDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.FieldDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.GadtDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.BangType instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Rhs instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Type instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.TyVarBind instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Kind instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.FunDep instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Context instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Asst instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Literal instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Sign instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Exp instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.XName instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.XAttr instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Bracket instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Splice instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Safety instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.CallConv instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.ModulePragma instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Overlap instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Activation instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Rule instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.RuleVar instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.WarningText instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Pat instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.RPatOp instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.RPat instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.PatField instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Stmt instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Alt instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.Syntax.Promoted -- | This module contains combinators to use when building Haskell source -- trees programmatically, as opposed to parsing them from a string. The -- contents here are quite experimental and will likely receive a lot of -- attention when the rest has stabilised. module Language.Haskell.Exts.Annotated.Build -- | An identifier with the given string as its name. The string should be -- a valid Haskell identifier. name :: l -> String -> Name l -- | A symbol identifier. The string should be a valid Haskell symbol -- identifier. sym :: l -> String -> Name l -- | A local variable as expression. var :: l -> Name l -> Exp l -- | Use the given identifier as an operator. op :: l -> Name l -> QOp l -- | A qualified variable as expression. qvar :: l -> ModuleName l -> Name l -> Exp l -- | A pattern variable. pvar :: l -> Name l -> Pat l -- | Application of expressions by juxtaposition. app :: l -> Exp l -> Exp l -> Exp l -- | Apply an operator infix. infixApp :: l -> Exp l -> QOp l -> Exp l -> Exp l -- | Apply a function to a list of arguments. appFun :: [l] -> Exp l -> [Exp l] -> Exp l -- | A constructor pattern, with argument patterns. pApp :: l -> Name l -> [Pat l] -> Pat l -- | A tuple expression. tuple :: l -> [Exp l] -> Exp l -- | A tuple pattern. pTuple :: l -> [Pat l] -> Pat l -- | A tuple expression consisting of variables only. varTuple :: l -> [Name l] -> Exp l -- | A tuple pattern consisting of variables only. pvarTuple :: l -> [Name l] -> Pat l -- | A function with a given name. function :: l -> String -> Exp l -- | A literal string expression. strE :: l -> String -> Exp l -- | A literal character expression. charE :: l -> Char -> Exp l -- | A literal integer expression. intE :: l -> Integer -> Exp l -- | A literal string pattern. strP :: l -> String -> Pat l -- | A literal character pattern. charP :: l -> Char -> Pat l -- | A literal integer pattern. intP :: l -> Integer -> Pat l -- | A do block formed by the given statements. The last statement in the -- list should be a Qualifier expression. doE :: l -> [Stmt l] -> Exp l -- | Lambda abstraction, given a list of argument patterns and an -- expression body. lamE :: l -> [Pat l] -> Exp l -> Exp l -- | A let ... in block. letE :: l -> [Decl l] -> Exp l -> Exp l -- | A case expression. caseE :: l -> Exp l -> [Alt l] -> Exp l -- | An unguarded alternative in a case expression. alt :: l -> Pat l -> Exp l -> Alt l -- | An alternative with a single guard in a case expression. altGW :: l -> Pat l -> [Stmt l] -> Exp l -> Binds l -> Alt l -- | A list expression. listE :: l -> [Exp l] -> Exp l -- | The empty list expression. eList :: l -> Exp l -- | The empty list pattern. peList :: l -> Pat l -- | Put parentheses around an expression. paren :: l -> Exp l -> Exp l -- | Put parentheses around a pattern. pParen :: l -> Pat l -> Pat l -- | A qualifier expression statement. qualStmt :: l -> Exp l -> Stmt l -- | A generator statement: pat <- exp genStmt :: l -> Pat l -> Exp l -> Stmt l -- | A let binding group as a statement. letStmt :: l -> [Decl l] -> Stmt l -- | Hoist a set of declarations to a binding group. binds :: l -> [Decl l] -> Binds l -- | An empty binding group. noBinds :: l -> Binds l -- | The wildcard pattern: _ wildcard :: l -> Pat l -- | Generate k names by appending numbers 1 through k to a given string. genNames :: l -> String -> Int -> [Name l] -- | A function with a single clause sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l -- | A function with a single clause, a single argument, no guards and no -- where declarations simpleFun :: l -> Name l -> Name l -> Exp l -> Decl l -- | A pattern bind where the pattern is a variable, and where there are no -- guards and no 'where' clause. patBind :: l -> Pat l -> Exp l -> Decl l -- | A pattern bind where the pattern is a variable, and where there are no -- guards, but with a 'where' clause. patBindWhere :: l -> Pat l -> Exp l -> [Decl l] -> Decl l -- | Bind an identifier to an expression. nameBind :: l -> Name l -> Exp l -> Decl l -- | Apply function of a given name to a list of arguments. metaFunction :: l -> String -> [Exp l] -> Exp l -- | Apply a constructor of a given name to a list of pattern arguments, -- forming a constructor pattern. metaConPat :: l -> String -> [Pat l] -> Pat l -- | This module defines various data types representing source location -- information, of varying degree of preciseness. module Language.Haskell.Exts.SrcLoc -- | A single position in the source. data SrcLoc SrcLoc :: String -> Int -> Int -> SrcLoc [srcFilename] :: SrcLoc -> String [srcLine] :: SrcLoc -> Int [srcColumn] :: SrcLoc -> Int noLoc :: SrcLoc -- | A portion of the source, spanning one or more lines and zero or more -- columns. data SrcSpan SrcSpan :: String -> Int -> Int -> Int -> Int -> SrcSpan [srcSpanFilename] :: SrcSpan -> String [srcSpanStartLine] :: SrcSpan -> Int [srcSpanStartColumn] :: SrcSpan -> Int [srcSpanEndLine] :: SrcSpan -> Int [srcSpanEndColumn] :: SrcSpan -> Int -- | Returns srcSpanStartLine and srcSpanStartColumn in a -- pair. srcSpanStart :: SrcSpan -> (Int, Int) -- | Returns srcSpanEndLine and srcSpanEndColumn in a pair. srcSpanEnd :: SrcSpan -> (Int, Int) -- | Combine two locations in the source to denote a span. mkSrcSpan :: SrcLoc -> SrcLoc -> SrcSpan -- | Merge two source spans into a single span from the start of the first -- to the end of the second. Assumes that the two spans relate to the -- same source file. mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan -- | Test if a given span starts and ends at the same location. isNullSpan :: SrcSpan -> Bool spanSize :: SrcSpan -> (Int, Int) -- | An entity located in the source. data Loc a Loc :: SrcSpan -> a -> Loc a [loc] :: Loc a -> SrcSpan [unLoc] :: Loc a -> a -- | A portion of the source, extended with information on the position of -- entities within the span. data SrcSpanInfo SrcSpanInfo :: SrcSpan -> [SrcSpan] -> SrcSpanInfo [srcInfoSpan] :: SrcSpanInfo -> SrcSpan [srcInfoPoints] :: SrcSpanInfo -> [SrcSpan] -- | Generate a SrcSpanInfo with no positional information for -- entities. noInfoSpan :: SrcSpan -> SrcSpanInfo -- | Generate a SrcSpanInfo with the supplied positional information -- for entities. infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo -- | Combine two SrcSpanInfos into one that spans the combined -- source area of the two arguments, leaving positional information -- blank. combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo -- | Like '(+?)', but it also concatenates the srcInfoPoints. combSpanMaybe :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo -- | Short name for combSpanInfo (<++>) :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo infixl 5 <++> -- | Optionally combine the first argument with the second, or return it -- unchanged if the second argument is Nothing. (<+?>) :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo infixl 4 <+?> -- | Optionally combine the second argument with the first, or return it -- unchanged if the first argument is Nothing. () :: Maybe SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo infixl 4 -- | Add more positional information for entities of a span. (<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfo infixl 4 <** -- | Merge two SrcSpans and lift them to a SrcInfoSpan with -- no positional information for entities. (<^^>) :: SrcSpan -> SrcSpan -> SrcSpanInfo infixl 6 <^^> -- | A class to work over all kinds of source location information. class SrcInfo si toSrcInfo :: SrcInfo si => SrcLoc -> [SrcSpan] -> SrcLoc -> si fromSrcInfo :: SrcInfo si => SrcSpanInfo -> si getPointLoc :: SrcInfo si => si -> SrcLoc fileName :: SrcInfo si => si -> String startLine :: SrcInfo si => si -> Int startColumn :: SrcInfo si => si -> Int instance GHC.Generics.Selector Language.Haskell.Exts.SrcLoc.S1_0_2SrcLoc instance GHC.Generics.Selector Language.Haskell.Exts.SrcLoc.S1_0_1SrcLoc instance GHC.Generics.Selector Language.Haskell.Exts.SrcLoc.S1_0_0SrcLoc instance GHC.Generics.Constructor Language.Haskell.Exts.SrcLoc.C1_0SrcLoc instance GHC.Generics.Datatype Language.Haskell.Exts.SrcLoc.D1SrcLoc instance Data.Data.Data Language.Haskell.Exts.SrcLoc.SrcSpanInfo instance GHC.Classes.Ord Language.Haskell.Exts.SrcLoc.SrcSpanInfo instance GHC.Classes.Eq Language.Haskell.Exts.SrcLoc.SrcSpanInfo instance GHC.Show.Show a => GHC.Show.Show (Language.Haskell.Exts.SrcLoc.Loc a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.Haskell.Exts.SrcLoc.Loc a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Haskell.Exts.SrcLoc.Loc a) instance Data.Data.Data Language.Haskell.Exts.SrcLoc.SrcSpan instance GHC.Classes.Ord Language.Haskell.Exts.SrcLoc.SrcSpan instance GHC.Classes.Eq Language.Haskell.Exts.SrcLoc.SrcSpan instance GHC.Generics.Generic Language.Haskell.Exts.SrcLoc.SrcLoc instance Data.Data.Data Language.Haskell.Exts.SrcLoc.SrcLoc instance GHC.Classes.Ord Language.Haskell.Exts.SrcLoc.SrcLoc instance GHC.Classes.Eq Language.Haskell.Exts.SrcLoc.SrcLoc instance GHC.Show.Show Language.Haskell.Exts.SrcLoc.SrcLoc instance GHC.Show.Show Language.Haskell.Exts.SrcLoc.SrcSpan instance GHC.Show.Show Language.Haskell.Exts.SrcLoc.SrcSpanInfo instance Language.Haskell.Exts.SrcLoc.SrcInfo Language.Haskell.Exts.SrcLoc.SrcLoc instance Language.Haskell.Exts.SrcLoc.SrcInfo Language.Haskell.Exts.SrcLoc.SrcSpan instance Language.Haskell.Exts.SrcLoc.SrcInfo Language.Haskell.Exts.SrcLoc.SrcSpanInfo module Language.Haskell.Exts.Comments -- | A Haskell comment. The Bool is True if the comment is -- multi-line, i.e. {- -}. data Comment Comment :: Bool -> SrcSpan -> String -> Comment -- | An unknown pragma. data UnknownPragma UnknownPragma :: SrcSpan -> String -> UnknownPragma instance Data.Data.Data Language.Haskell.Exts.Comments.UnknownPragma instance GHC.Show.Show Language.Haskell.Exts.Comments.UnknownPragma instance GHC.Classes.Eq Language.Haskell.Exts.Comments.UnknownPragma instance Data.Data.Data Language.Haskell.Exts.Comments.Comment instance GHC.Show.Show Language.Haskell.Exts.Comments.Comment instance GHC.Classes.Eq Language.Haskell.Exts.Comments.Comment -- | 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. module Language.Haskell.Exts.Annotated.ExactPrint -- | Print an AST exactly as specified by the annotations on the nodes in -- the tree. exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String class Annotated ast => ExactP ast instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlt l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlt instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlts l) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlts instance GHC.Base.Functor Language.Haskell.Exts.Annotated.ExactPrint.EP instance GHC.Base.Applicative Language.Haskell.Exts.Annotated.ExactPrint.EP instance GHC.Base.Monad Language.Haskell.Exts.Annotated.ExactPrint.EP instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Literal instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Sign instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ModuleName instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.SpecialCon instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.QName instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Name instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.IPName instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.QOp instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Op instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.CName instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Namespace instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ExportSpec instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ExportSpecList instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ImportSpecList instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ImportSpec instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ImportDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Module instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ModuleHead instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ModulePragma instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.WarningText instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Assoc instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.DataOrNew instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.TypeEqn instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Decl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Role instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Annotation instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.BooleanFormula instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.DeclHead instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.InstRule instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.InstHead instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.TyVarBind instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Kind instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Type instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Promoted instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Context instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Asst instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Deriving instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.FunDep instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.QualConDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.ConDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.GadtDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.BangType instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Splice instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Exp instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Stmt instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Bracket instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.XAttr instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Alt instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Match instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Rhs instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlts instance Language.Haskell.Exts.Annotated.Syntax.Annotated Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlt instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlts instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.ExactPrint.GuardedAlt instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Pat instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.PatField instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.RPat instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.RPatOp instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.XName instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Binds instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.CallConv instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Safety instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Rule instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.RuleVar instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Overlap instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.Activation instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.FieldDecl instance Language.Haskell.Exts.Annotated.ExactPrint.ExactP Language.Haskell.Exts.Annotated.Syntax.IPBind -- | This module processes comments along with an annotated AST, to be able -- to associate Haddock comments with the actual item they refer to. -- -- Example: -- --
--   let
--    parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])
--    parse1Result =
--      parseFileContentsWithComments
--       (defaultParseMode { parseFilename = file })
--        contents
--    withC :: ParseResult (Module (SrcSpanInfo,[Comment]))
--    withC = case parse1Result of
--              ParseOk res         -> ParseOk $ associateHaddock res
--              ParseFailed sloc msg -> ParseFailed sloc msg
--   
-- -- In this code sample, parse1Result is what you get when you parse a -- file: a Module annotated wth SrcSpanInfo, and a list of -- comments After passing the result to associateHaddock, you get -- a Module annotated with both a SrcSpanInfo and the list -- of Comment related to the specific AST node. module Language.Haskell.Exts.Annotated.Comments -- | Associates an AST with Source Span Information with relevant Haddock -- comments associateHaddock :: (Annotated ast, Traversable ast) => (ast SrcSpanInfo, [Comment]) -> ast (SrcSpanInfo, [Comment]) -- | This module defines the list of recognized modular features of -- Haskell, most often (sloppily) referred to as "extensions". -- -- Closely mimicking the Language.Haskell.Extension module from the Cabal -- library, this package also includes functionality for "computing" -- languages as sets of features. Also, we make no promise not to add -- extensions not yet recognized by Cabal. module Language.Haskell.Exts.Extension data Language -- | The Haskell 98 language as defined by the Haskell 98 report. -- http://haskell.org/onlinereport/ Haskell98 :: Language -- | The Haskell 2010 language as defined by the Haskell 2010 report. -- http://www.haskell.org/onlinereport/haskell2010 Haskell2010 :: Language -- | The minimal language resulting from disabling all recognized -- extensions - including ones that are part of all known language -- definitions e.g. MonomorphismRestriction. HaskellAllDisabled :: Language -- | An unknown language, identified by its name. UnknownLanguage :: String -> Language knownLanguages :: [Language] classifyLanguage :: String -> Language prettyLanguage :: Language -> String -- | This represents language extensions beyond a base Language -- definition (such as Haskell98) that are supported by some -- implementations, usually in some special mode. data Extension -- | Enable a known extension EnableExtension :: KnownExtension -> Extension -- | Disable a known extension DisableExtension :: KnownExtension -> Extension -- | An unknown extension, identified by the name of its LANGUAGE -- pragma. UnknownExtension :: String -> Extension data KnownExtension -- | OverlappingInstances :: KnownExtension -- | UndecidableInstances :: KnownExtension -- | IncoherentInstances :: KnownExtension -- | InstanceSigs :: KnownExtension -- | DoRec :: KnownExtension -- | RecursiveDo :: KnownExtension -- | ParallelListComp :: KnownExtension -- | MultiParamTypeClasses :: KnownExtension -- | MonomorphismRestriction :: KnownExtension -- | FunctionalDependencies :: KnownExtension -- | Rank2Types :: KnownExtension -- | RankNTypes :: KnownExtension -- | PolymorphicComponents :: KnownExtension -- | ExistentialQuantification :: KnownExtension -- | ScopedTypeVariables :: KnownExtension -- | Deprecated, use ScopedTypeVariables instead. PatternSignatures :: KnownExtension -- | ImplicitParams :: KnownExtension -- | FlexibleContexts :: KnownExtension -- | FlexibleInstances :: KnownExtension -- | EmptyDataDecls :: KnownExtension -- | CPP :: KnownExtension -- | KindSignatures :: KnownExtension -- | BangPatterns :: KnownExtension -- | TypeSynonymInstances :: KnownExtension -- | TemplateHaskell :: KnownExtension -- | ForeignFunctionInterface :: KnownExtension -- | Arrows :: KnownExtension -- | Generics :: KnownExtension -- | ImplicitPrelude :: KnownExtension -- | NamedFieldPuns :: KnownExtension -- | PatternGuards :: KnownExtension -- | GeneralizedNewtypeDeriving :: KnownExtension -- | ExtensibleRecords :: KnownExtension -- | RestrictedTypeSynonyms :: KnownExtension -- | HereDocuments :: KnownExtension -- | MagicHash :: KnownExtension -- | Binary integer literals BinaryLiterals :: KnownExtension -- | TypeFamilies :: KnownExtension -- | StandaloneDeriving :: KnownExtension -- | UnicodeSyntax :: KnownExtension -- | UnliftedFFITypes :: KnownExtension -- | LiberalTypeSynonyms :: KnownExtension -- | TypeOperators :: KnownExtension -- | ParallelArrays :: KnownExtension -- | RecordWildCards :: KnownExtension -- | Deprecated, use NamedFieldPuns instead. RecordPuns :: KnownExtension -- | DisambiguateRecordFields :: KnownExtension -- | OverloadedStrings :: KnownExtension -- | GADTs :: KnownExtension -- | MonoPatBinds :: KnownExtension -- | RelaxedPolyRec :: KnownExtension -- | ExtendedDefaultRules :: KnownExtension -- | UnboxedTuples :: KnownExtension -- | DeriveDataTypeable :: KnownExtension -- | ConstrainedClassMethods :: KnownExtension -- | -- --
--   import "network" Network.Socket
--   
PackageImports :: KnownExtension LambdaCase :: KnownExtension -- | ImpredicativeTypes :: KnownExtension -- | NewQualifiedOperators :: KnownExtension -- | PostfixOperators :: KnownExtension -- | QuasiQuotes :: KnownExtension -- | TransformListComp :: KnownExtension -- | ViewPatterns :: KnownExtension -- | Allow concrete XML syntax to be used in expressions and patterns, as -- per the Haskell Server Pages extension language: -- http://www.haskell.org/haskellwiki/HSP. The ideas behind it are -- discussed in the paper "Haskell Server Pages through Dynamic Loading" -- by Niklas Broberg, from Haskell Workshop '05. XmlSyntax :: KnownExtension -- | Allow regular pattern matching over lists, as discussed in the paper -- "Regular Expression Patterns" by Niklas Broberg, Andreas Farre and -- Josef Svenningsson, from ICFP '04. RegularPatterns :: KnownExtension -- | Enables the use of tuple sections, e.g. (, True) desugars -- into x -> (x, True). TupleSections :: KnownExtension -- | Allows GHC primops, written in C--, to be imported into a Haskell -- file. GHCForeignImportPrim :: KnownExtension -- | Support for patterns of the form n + k, where k is -- an integer literal. NPlusKPatterns :: KnownExtension -- | Improve the layout rule when if expressions are used in a -- do block. DoAndIfThenElse :: KnownExtension -- | Makes much of the Haskell sugar be desugared into calls to the -- function with a particular name that is in scope. RebindableSyntax :: KnownExtension -- | Make forall a keyword in types, which can be used to give the -- generalisation explicitly. ExplicitForAll :: KnownExtension -- | Allow contexts to be put on datatypes, e.g. the Eq a in -- data Eq a => Set a = NilSet | ConsSet a (Set a). DatatypeContexts :: KnownExtension -- | Local (let and where) bindings are monomorphic. MonoLocalBinds :: KnownExtension -- | Enable deriving for the Data.Functor.Functor class. DeriveFunctor :: KnownExtension -- | DeriveGeneric :: KnownExtension -- | Enable deriving for the Data.Traversable.Traversable -- class. DeriveTraversable :: KnownExtension -- | Enable deriving for the Data.Foldable.Foldable -- class. DeriveFoldable :: KnownExtension -- | Enable non-decreasing indentation for 'do' blocks. NondecreasingIndentation :: KnownExtension -- | InterruptibleFFI :: KnownExtension -- | CApiFFI :: KnownExtension -- | ExplicitNamespaces :: KnownExtension DataKinds :: KnownExtension PolyKinds :: KnownExtension -- | MultiWayIf :: KnownExtension -- | -- --
--   import safe Network.Socket
--   
SafeImports :: KnownExtension -- | Safe :: KnownExtension -- | Trustworthy :: KnownExtension -- | DefaultSignatures :: KnownExtension -- | ConstraintKinds :: KnownExtension -- | RoleAnnotations :: KnownExtension -- | PatternSynonyms :: KnownExtension -- | PartialTypeSignatures :: KnownExtension -- | NamedWildCards :: KnownExtension -- | A clever version of read that returns an UnknownExtension if -- the string is not recognised. classifyExtension :: String -> Extension -- | Parse an enabled or disabled extension; returns -- UnknownExtension if the parse fails. parseExtension :: String -> Extension -- | Pretty print an extension. Disabled extensions are prefixed with 'No'. prettyExtension :: Extension -> String ghcDefault :: [Extension] -- | The list of extensions enabled by GHC's portmanteau -fglasgow-exts -- flag. glasgowExts :: [Extension] -- | List of all known extensions, both "yes" and "no" versions. knownExtensions :: [Extension] -- | Extensions that have been deprecated, possibly paired with another -- extension that replaces it. deprecatedExtensions :: [(Extension, Maybe Extension)] -- | Certain extensions imply other extensions, and this function makes the -- implication explicit. This also handles deprecated extensions, which -- imply their replacements. The returned value is the transitive closure -- of implied extensions. impliesExts :: [KnownExtension] -> [KnownExtension] toExtensionList :: Language -> [Extension] -> [KnownExtension] instance GHC.Classes.Ord Language.Haskell.Exts.Extension.Extension instance GHC.Classes.Eq Language.Haskell.Exts.Extension.Extension instance GHC.Read.Read Language.Haskell.Exts.Extension.Extension instance GHC.Show.Show Language.Haskell.Exts.Extension.Extension instance Data.Data.Data Language.Haskell.Exts.Extension.KnownExtension instance GHC.Enum.Bounded Language.Haskell.Exts.Extension.KnownExtension instance GHC.Enum.Enum Language.Haskell.Exts.Extension.KnownExtension instance GHC.Classes.Ord Language.Haskell.Exts.Extension.KnownExtension instance GHC.Classes.Eq Language.Haskell.Exts.Extension.KnownExtension instance GHC.Read.Read Language.Haskell.Exts.Extension.KnownExtension instance GHC.Show.Show Language.Haskell.Exts.Extension.KnownExtension instance Data.Data.Data Language.Haskell.Exts.Extension.Language instance GHC.Classes.Ord Language.Haskell.Exts.Extension.Language instance GHC.Classes.Eq Language.Haskell.Exts.Extension.Language instance GHC.Read.Read Language.Haskell.Exts.Extension.Language instance GHC.Show.Show Language.Haskell.Exts.Extension.Language -- | A suite of datatypes describing the abstract syntax of Haskell 98 -- http://www.haskell.org/onlinereport/ plus registered -- extensions, including: -- -- module Language.Haskell.Exts.Syntax -- | A complete Haskell source module. data Module Module :: SrcLoc -> ModuleName -> [ModulePragma] -> (Maybe WarningText) -> (Maybe [ExportSpec]) -> [ImportDecl] -> [Decl] -> Module -- | Warning text to optionally use in the module header of e.g. a -- deprecated module. data WarningText DeprText :: String -> WarningText WarnText :: String -> WarningText -- | An item in a module's export specification. data ExportSpec -- | variable. EVar :: QName -> ExportSpec -- | T: a class or datatype exported abstractly, or a type -- synonym. EAbs :: Namespace -> QName -> ExportSpec -- | T(..): a class exported with all of its methods, or a -- datatype exported with all of its constructors. EThingAll :: QName -> ExportSpec -- | T(C_1,...,C_n): a class exported with some of its methods, or -- a datatype exported with some of its constructors. EThingWith :: QName -> [CName] -> ExportSpec -- | module M: re-export a module. EModuleContents :: ModuleName -> ExportSpec -- | An import declaration. data ImportDecl ImportDecl :: SrcLoc -> ModuleName -> Bool -> Bool -> Bool -> Maybe String -> Maybe ModuleName -> Maybe (Bool, [ImportSpec]) -> ImportDecl -- | position of the import keyword. [importLoc] :: ImportDecl -> SrcLoc -- | name of the module imported. [importModule] :: ImportDecl -> ModuleName -- | imported qualified? [importQualified] :: ImportDecl -> Bool -- | imported with {-# SOURCE #-}? [importSrc] :: ImportDecl -> Bool -- | Import safe? [importSafe] :: ImportDecl -> Bool -- | imported with explicit package name [importPkg] :: ImportDecl -> Maybe String -- | optional alias name in an as clause. [importAs] :: ImportDecl -> Maybe ModuleName -- | optional list of import specifications. The Bool is True -- if the names are excluded by hiding. [importSpecs] :: ImportDecl -> Maybe (Bool, [ImportSpec]) -- | An import specification, representing a single explicit item imported -- (or hidden) from a module. data ImportSpec -- | variable. IVar :: Name -> ImportSpec -- | T: the name of a class, datatype or type synonym. IAbs :: Namespace -> Name -> ImportSpec -- | T(..): a class imported with all of its methods, or a -- datatype imported with all of its constructors. IThingAll :: Name -> ImportSpec -- | T(C_1,...,C_n): a class imported with some of its methods, or -- a datatype imported with some of its constructors. IThingWith :: Name -> [CName] -> ImportSpec -- | Associativity of an operator. data Assoc -- | non-associative operator (declared with infix) AssocNone :: Assoc -- | left-associative operator (declared with infixl). AssocLeft :: Assoc -- | right-associative operator (declared with infixr) AssocRight :: Assoc -- | Namespaces for imports/exports. data Namespace NoNamespace :: Namespace TypeNamespace :: Namespace PatternNamespace :: Namespace -- | A top-level declaration. data Decl -- | A type declaration TypeDecl :: SrcLoc -> Name -> [TyVarBind] -> Type -> Decl -- | A type family declaration TypeFamDecl :: SrcLoc -> Name -> [TyVarBind] -> (Maybe Kind) -> Decl -- | A closed type family declaration ClosedTypeFamDecl :: SrcLoc -> Name -> [TyVarBind] -> (Maybe Kind) -> [TypeEqn] -> Decl -- | A data OR newtype declaration DataDecl :: SrcLoc -> DataOrNew -> Context -> Name -> [TyVarBind] -> [QualConDecl] -> [Deriving] -> Decl -- | A data OR newtype declaration, GADT style GDataDecl :: SrcLoc -> DataOrNew -> Context -> Name -> [TyVarBind] -> (Maybe Kind) -> [GadtDecl] -> [Deriving] -> Decl -- | A data family declaration DataFamDecl :: SrcLoc -> Context -> Name -> [TyVarBind] -> (Maybe Kind) -> Decl -- | A type family instance declaration TypeInsDecl :: SrcLoc -> Type -> Type -> Decl -- | A data family instance declaration DataInsDecl :: SrcLoc -> DataOrNew -> Type -> [QualConDecl] -> [Deriving] -> Decl -- | A data family instance declaration, GADT style GDataInsDecl :: SrcLoc -> DataOrNew -> Type -> (Maybe Kind) -> [GadtDecl] -> [Deriving] -> Decl -- | A declaration of a type class ClassDecl :: SrcLoc -> Context -> Name -> [TyVarBind] -> [FunDep] -> [ClassDecl] -> Decl -- | An declaration of a type class instance InstDecl :: SrcLoc -> (Maybe Overlap) -> [TyVarBind] -> Context -> QName -> [Type] -> [InstDecl] -> Decl -- | A standalone deriving declaration DerivDecl :: SrcLoc -> (Maybe Overlap) -> [TyVarBind] -> Context -> QName -> [Type] -> Decl -- | A declaration of operator fixity InfixDecl :: SrcLoc -> Assoc -> Int -> [Op] -> Decl -- | A declaration of default types DefaultDecl :: SrcLoc -> [Type] -> Decl -- | A Template Haskell splicing declaration SpliceDecl :: SrcLoc -> Exp -> Decl -- | A type signature declaration TypeSig :: SrcLoc -> [Name] -> Type -> Decl -- | Pattern Synonym Signature PatSynSig :: SrcLoc -> Name -> (Maybe [TyVarBind]) -> Context -> Context -> Type -> Decl -- | A set of function binding clauses FunBind :: [Match] -> Decl -- | A pattern binding PatBind :: SrcLoc -> Pat -> Rhs -> (Maybe Binds) -> Decl -- | A foreign import declaration ForImp :: SrcLoc -> CallConv -> Safety -> String -> Name -> Type -> Decl -- | A foreign export declaration ForExp :: SrcLoc -> CallConv -> String -> Name -> Type -> Decl PatSyn :: SrcLoc -> Pat -> Pat -> PatternSynDirection -> Decl -- | A RULES pragma RulePragmaDecl :: SrcLoc -> [Rule] -> Decl -- | A DEPRECATED pragma DeprPragmaDecl :: SrcLoc -> [([Name], String)] -> Decl -- | A WARNING pragma WarnPragmaDecl :: SrcLoc -> [([Name], String)] -> Decl -- | An INLINE pragma InlineSig :: SrcLoc -> Bool -> Activation -> QName -> Decl -- | An INLINE CONLIKE pragma InlineConlikeSig :: SrcLoc -> Activation -> QName -> Decl -- | A SPECIALISE pragma SpecSig :: SrcLoc -> Activation -> QName -> [Type] -> Decl -- | A SPECIALISE INLINE pragma SpecInlineSig :: SrcLoc -> Bool -> Activation -> QName -> [Type] -> Decl -- | A SPECIALISE instance pragma InstSig :: SrcLoc -> [TyVarBind] -> Context -> QName -> [Type] -> Decl -- | An ANN pragma AnnPragma :: SrcLoc -> Annotation -> Decl -- | A MINIMAL pragma MinimalPragma :: SrcLoc -> (Maybe BooleanFormula) -> Decl -- | A role annotation RoleAnnotDecl :: SrcLoc -> QName -> [Role] -> Decl -- | A binding group inside a let or where clause. data Binds -- | An ordinary binding group BDecls :: [Decl] -> Binds -- | A binding group for implicit parameters IPBinds :: [IPBind] -> Binds -- | A binding of an implicit parameter. data IPBind IPBind :: SrcLoc -> IPName -> Exp -> IPBind data PatternSynDirection -- | A unidirectional pattern synonym with "<-" Unidirectional :: PatternSynDirection -- | A bidirectional pattern synonym with "=" ImplicitBidirectional :: PatternSynDirection -- | A birectional pattern synonym with the construction specified. ExplicitBidirectional :: [Decl] -> PatternSynDirection -- | Declarations inside a class declaration. data ClassDecl -- | ordinary declaration ClsDecl :: Decl -> ClassDecl -- | declaration of an associated data type ClsDataFam :: SrcLoc -> Context -> Name -> [TyVarBind] -> (Maybe Kind) -> ClassDecl -- | declaration of an associated type synonym ClsTyFam :: SrcLoc -> Name -> [TyVarBind] -> (Maybe Kind) -> ClassDecl -- | default choice for an associated type synonym ClsTyDef :: SrcLoc -> Type -> Type -> ClassDecl -- | default signature ClsDefSig :: SrcLoc -> Name -> Type -> ClassDecl -- | Declarations inside an instance declaration. data InstDecl -- | ordinary declaration InsDecl :: Decl -> InstDecl -- | an associated type definition InsType :: SrcLoc -> Type -> Type -> InstDecl -- | an associated data type implementation InsData :: SrcLoc -> DataOrNew -> Type -> [QualConDecl] -> [Deriving] -> InstDecl -- | an associated data type implemented using GADT style InsGData :: SrcLoc -> DataOrNew -> Type -> (Maybe Kind) -> [GadtDecl] -> [Deriving] -> InstDecl -- | A single derived instance, which may have arguments since it may be a -- MPTC. type Deriving = (QName, [Type]) -- | A flag stating whether a declaration is a data or newtype declaration. data DataOrNew DataType :: DataOrNew NewType :: DataOrNew -- | Declaration of an ordinary data constructor. data ConDecl -- | ordinary data constructor ConDecl :: Name -> [Type] -> ConDecl -- | infix data constructor InfixConDecl :: Type -> Name -> Type -> ConDecl -- | record constructor RecDecl :: Name -> [([Name], Type)] -> ConDecl -- | A single constructor declaration within a data type declaration, which -- may have an existential quantification binding. data QualConDecl QualConDecl :: SrcLoc -> [TyVarBind] -> Context -> ConDecl -> QualConDecl -- | A single constructor declaration in a GADT data type declaration. data GadtDecl GadtDecl :: SrcLoc -> Name -> [([Name], Type)] -> Type -> GadtDecl -- | The type of a constructor argument or field, optionally including a -- strictness annotation. data BangType -- | strict component, marked with "!" BangedTy :: BangType -- | unboxed component, marked with an UNPACK pragma UnpackedTy :: BangType -- | Clauses of a function binding. data Match Match :: SrcLoc -> Name -> [Pat] -> (Maybe Type) -> Rhs -> (Maybe Binds) -> Match -- | The right hand side of a function binding, pattern binding, or a case -- alternative. data Rhs -- | unguarded right hand side (exp) UnGuardedRhs :: Exp -> Rhs -- | guarded right hand side (gdrhs) GuardedRhss :: [GuardedRhs] -> Rhs -- | A guarded right hand side | stmts = -- exp, or | stmts -> exp for -- case alternatives. The guard is a series of statements when using -- pattern guards, otherwise it will be a single qualifier expression. data GuardedRhs GuardedRhs :: SrcLoc -> [Stmt] -> Exp -> GuardedRhs -- | A context is a set of assertions type Context = [Asst] -- | A functional dependency, given on the form l1 l2 ... ln -> r2 r3 .. -- rn data FunDep FunDep :: [Name] -> [Name] -> FunDep -- | Class assertions. In Haskell 98, the argument would be a tyvar, -- but this definition allows multiple parameters, and allows them to be -- types. Also extended with support for implicit parameters and -- equality constraints. data Asst -- | ordinary class assertion ClassA :: QName -> [Type] -> Asst -- | constraint kind assertion, Dict :: cxt a => Dict cxt AppA :: Name -> [Type] -> Asst -- | class assertion where the class name is given infix InfixA :: Type -> QName -> Type -> Asst -- | implicit parameter assertion IParam :: IPName -> Type -> Asst -- | type equality constraint EqualP :: Type -> Type -> Asst -- | parenthesised class assertion ParenA :: Asst -> Asst -- | A wildcard WildCardA :: (Maybe Name) -> Asst -- | A type qualified with a context. An unqualified type has an empty -- context. data Type -- | qualified type TyForall :: (Maybe [TyVarBind]) -> Context -> Type -> Type -- | function type TyFun :: Type -> Type -> Type -- | tuple type, possibly boxed TyTuple :: Boxed -> [Type] -> Type -- | list syntax, e.g. [a], as opposed to [] a TyList :: Type -> Type -- | parallel array syntax, e.g. [:a:] TyParArray :: Type -> Type -- | application of a type constructor TyApp :: Type -> Type -> Type -- | type variable TyVar :: Name -> Type -- | named type or type constructor TyCon :: QName -> Type -- | type surrounded by parentheses TyParen :: Type -> Type -- | infix type constructor TyInfix :: Type -> QName -> Type -> Type -- | type with explicit kind signature TyKind :: Type -> Kind -> Type -- | promoted data type (-XDataKinds) TyPromoted :: Promoted -> Type -- | type equality predicate enabled by ConstraintKinds TyEquals :: Type -> Type -> Type -- | template haskell splice type TySplice :: Splice -> Type -- | Strict type marked with "!" or type marked with UNPACK -- pragma. TyBang :: BangType -> Type -> Type -- | Type wildcard TyWildCard :: (Maybe Name) -> Type -- | Flag denoting whether a tuple is boxed or unboxed. data Boxed Boxed :: Boxed Unboxed :: Boxed -- | An explicit kind annotation. data Kind -- | *, the kind of types KindStar :: Kind -- | ->, the kind of a type constructor KindFn :: Kind -> Kind -> Kind -- | a kind surrounded by parentheses KindParen :: Kind -> Kind -- | a kind variable (as of yet unsupported by compilers) KindVar :: QName -> Kind -- |
--   k1 k2
--   
KindApp :: Kind -> Kind -> Kind -- | (k1,k2,k3), kind of a promoted tuple KindTuple :: [Kind] -> Kind -- | [k1], kind of a promoted list KindList :: Kind -> Kind -- | A type variable declaration, optionally with an explicit kind -- annotation. data TyVarBind -- | variable binding with kind annotation KindedVar :: Name -> Kind -> TyVarBind -- | ordinary variable binding UnkindedVar :: Name -> TyVarBind data Promoted PromotedInteger :: Integer -> Promoted PromotedString :: String -> Promoted PromotedCon :: Bool -> QName -> Promoted PromotedList :: Bool -> [Type] -> Promoted PromotedTuple :: [Type] -> Promoted PromotedUnit :: Promoted -- | A type equation of the form rhs = lhs used in closed type -- families. data TypeEqn TypeEqn :: Type -> Type -> TypeEqn -- | Haskell expressions. data Exp -- | variable Var :: QName -> Exp -- | implicit parameter variable IPVar :: IPName -> Exp -- | data constructor Con :: QName -> Exp -- | literal constant Lit :: Literal -> Exp -- | infix application InfixApp :: Exp -> QOp -> Exp -> Exp -- | ordinary application App :: Exp -> Exp -> Exp -- | negation expression -exp (unary minus) NegApp :: Exp -> Exp -- | lambda expression Lambda :: SrcLoc -> [Pat] -> Exp -> Exp -- | local declarations with let ... in ... Let :: Binds -> Exp -> Exp -- | if exp then exp else -- exp If :: Exp -> Exp -> Exp -> Exp -- | if | exp -> exp ... MultiIf :: [GuardedRhs] -> Exp -- | case exp of alts Case :: Exp -> [Alt] -> Exp -- | do-expression: the last statement in the list should be an -- expression. Do :: [Stmt] -> Exp -- | mdo-expression MDo :: [Stmt] -> Exp -- | tuple expression Tuple :: Boxed -> [Exp] -> Exp -- | tuple section expression, e.g. (,,3) TupleSection :: Boxed -> [Maybe Exp] -> Exp -- | list expression List :: [Exp] -> Exp -- | parallel array expression ParArray :: [Exp] -> Exp -- | parenthesised expression Paren :: Exp -> Exp -- | left section (exp qop) LeftSection :: Exp -> QOp -> Exp -- | right section (qop exp) RightSection :: QOp -> Exp -> Exp -- | record construction expression RecConstr :: QName -> [FieldUpdate] -> Exp -- | record update expression RecUpdate :: Exp -> [FieldUpdate] -> Exp -- | unbounded arithmetic sequence, incrementing by 1: [from ..] EnumFrom :: Exp -> Exp -- | bounded arithmetic sequence, incrementing by 1 [from .. to] EnumFromTo :: Exp -> Exp -> Exp -- | unbounded arithmetic sequence, with first two elements given -- [from, then ..] EnumFromThen :: Exp -> Exp -> Exp -- | bounded arithmetic sequence, with first two elements given [from, -- then .. to] EnumFromThenTo :: Exp -> Exp -> Exp -> Exp -- | bounded arithmetic sequence, incrementing by 1 [from .. to] ParArrayFromTo :: Exp -> Exp -> Exp -- | bounded arithmetic sequence, with first two elements given [from, -- then .. to] ParArrayFromThenTo :: Exp -> Exp -> Exp -> Exp -- | ordinary list comprehension ListComp :: Exp -> [QualStmt] -> Exp -- | parallel list comprehension ParComp :: Exp -> [[QualStmt]] -> Exp -- | parallel array comprehension ParArrayComp :: Exp -> [[QualStmt]] -> Exp -- | expression with explicit type signature ExpTypeSig :: SrcLoc -> Exp -> Type -> Exp -- | 'x for template haskell reifying of expressions VarQuote :: QName -> Exp -- | ''T for template haskell reifying of types TypQuote :: QName -> Exp -- | template haskell bracket expression BracketExp :: Bracket -> Exp -- | template haskell splice expression SpliceExp :: Splice -> Exp -- | quasi-quotaion: [$name| string |] QuasiQuote :: String -> String -> Exp -- | xml element, with attributes and children XTag :: SrcLoc -> XName -> [XAttr] -> (Maybe Exp) -> [Exp] -> Exp -- | empty xml element, with attributes XETag :: SrcLoc -> XName -> [XAttr] -> (Maybe Exp) -> Exp -- | PCDATA child element XPcdata :: String -> Exp -- | escaped haskell expression inside xml XExpTag :: Exp -> Exp -- | children of an xml element XChildTag :: SrcLoc -> [Exp] -> Exp -- | CORE pragma CorePragma :: String -> Exp -> Exp -- | SCC pragma SCCPragma :: String -> Exp -> Exp -- | GENERATED pragma GenPragma :: String -> (Int, Int) -> (Int, Int) -> Exp -> Exp -- | arrows proc: proc pat -> exp Proc :: SrcLoc -> Pat -> Exp -> Exp -- | arrow application (from left): exp -< exp LeftArrApp :: Exp -> Exp -> Exp -- | arrow application (from right): exp >- exp RightArrApp :: Exp -> Exp -> Exp -- | higher-order arrow application (from left): exp -- -<< exp LeftArrHighApp :: Exp -> Exp -> Exp -- | higher-order arrow application (from right): exp -- >>- exp RightArrHighApp :: Exp -> Exp -> Exp -- | case alts LCase :: [Alt] -> Exp -- | Expression hole ExprHole :: Exp -- | A statement, representing both a stmt in a -- do-expression, an ordinary qual in a list -- comprehension, as well as a stmt in a pattern guard. data Stmt -- | a generator: pat <- exp Generator :: SrcLoc -> Pat -> Exp -> Stmt -- | an exp by itself: in a do-expression, an action whose -- result is discarded; in a list comprehension and pattern guard, a -- guard expression Qualifier :: Exp -> Stmt -- | local bindings LetStmt :: Binds -> Stmt -- | a recursive binding group for arrows RecStmt :: [Stmt] -> Stmt -- | A general transqual in a list comprehension, which could -- potentially be a transform of the kind enabled by TransformListComp. data QualStmt -- | an ordinary statement QualStmt :: Stmt -> QualStmt -- | then exp ThenTrans :: Exp -> QualStmt -- | then exp by exp ThenBy :: Exp -> Exp -> QualStmt -- | then group by exp GroupBy :: Exp -> QualStmt -- | then group using exp GroupUsing :: Exp -> QualStmt -- | then group by exp using -- exp GroupByUsing :: Exp -> Exp -> QualStmt -- | An fbind in a labeled construction or update expression. data FieldUpdate -- | ordinary label-expresion pair FieldUpdate :: QName -> Exp -> FieldUpdate -- | record field pun FieldPun :: QName -> FieldUpdate -- | record field wildcard FieldWildcard :: FieldUpdate -- | An alt alternative in a case expression. data Alt Alt :: SrcLoc -> Pat -> Rhs -> (Maybe Binds) -> Alt -- | An xml attribute, which is a name-expression pair. data XAttr XAttr :: XName -> Exp -> XAttr -- | A pattern, to be matched against a value. data Pat -- | variable PVar :: Name -> Pat -- | literal constant PLit :: Sign -> Literal -> Pat -- | n+k pattern PNPlusK :: Name -> Integer -> Pat -- | pattern with an infix data constructor PInfixApp :: Pat -> QName -> Pat -> Pat -- | data constructor and argument patterns PApp :: QName -> [Pat] -> Pat -- | tuple pattern PTuple :: Boxed -> [Pat] -> Pat -- | list pattern PList :: [Pat] -> Pat -- | parenthesized pattern PParen :: Pat -> Pat -- | labelled pattern, record style PRec :: QName -> [PatField] -> Pat -- | @-pattern PAsPat :: Name -> Pat -> Pat -- | wildcard pattern: _ PWildCard :: Pat -- | irrefutable pattern: ~pat PIrrPat :: Pat -> Pat -- | pattern with type signature PatTypeSig :: SrcLoc -> Pat -> Type -> Pat -- | view patterns of the form (exp -> pat) PViewPat :: Exp -> Pat -> Pat -- | regular list pattern PRPat :: [RPat] -> Pat -- | XML element pattern PXTag :: SrcLoc -> XName -> [PXAttr] -> (Maybe Pat) -> [Pat] -> Pat -- | XML singleton element pattern PXETag :: SrcLoc -> XName -> [PXAttr] -> (Maybe Pat) -> Pat -- | XML PCDATA pattern PXPcdata :: String -> Pat -- | XML embedded pattern PXPatTag :: Pat -> Pat -- | XML regular list pattern PXRPats :: [RPat] -> Pat -- | quasi quote patter: [$name| string |] PQuasiQuote :: String -> String -> Pat -- | strict (bang) pattern: f !x = ... PBangPat :: Pat -> Pat -- | An fpat in a labeled record pattern. data PatField -- | ordinary label-pattern pair PFieldPat :: QName -> Pat -> PatField -- | record field pun PFieldPun :: QName -> PatField -- | record field wildcard PFieldWildcard :: PatField -- | An XML attribute in a pattern. data PXAttr PXAttr :: XName -> Pat -> PXAttr -- | An entity in a regular pattern. data RPat -- | operator pattern, e.g. pat* RPOp :: RPat -> RPatOp -> RPat -- | choice pattern, e.g. (1 | 2) RPEither :: RPat -> RPat -> RPat -- | sequence pattern, e.g. (| 1, 2, 3 |) RPSeq :: [RPat] -> RPat -- | guarded pattern, e.g. (| p | p < 3 |) RPGuard :: Pat -> [Stmt] -> RPat -- | non-linear variable binding, e.g. (foo@:(1 | 2))* RPCAs :: Name -> RPat -> RPat -- | linear variable binding, e.g. foo@(1 | 2) RPAs :: Name -> RPat -> RPat -- | parenthesised pattern, e.g. (2*) RPParen :: RPat -> RPat -- | an ordinary pattern RPPat :: Pat -> RPat -- | A regular pattern operator. data RPatOp -- | * = 0 or more RPStar :: RPatOp -- | *! = 0 or more, greedy RPStarG :: RPatOp -- | + = 1 or more RPPlus :: RPatOp -- | +! = 1 or more, greedy RPPlusG :: RPatOp -- | ? = 0 or 1 RPOpt :: RPatOp -- | ?! = 0 or 1, greedy RPOptG :: RPatOp -- | literal Values of this type hold the abstract value of the -- literal, not the precise string representation used. For example, -- 10, 0o12 and 0xa have the same -- representation. data Literal -- | character literal Char :: Char -> Literal -- | string literal String :: String -> Literal -- | integer literal Int :: Integer -> Literal -- | floating point literal Frac :: Rational -> Literal -- | unboxed integer literal PrimInt :: Integer -> Literal -- | unboxed word literal PrimWord :: Integer -> Literal -- | unboxed float literal PrimFloat :: Rational -> Literal -- | unboxed double literal PrimDouble :: Rational -> Literal -- | unboxed character literal PrimChar :: Char -> Literal -- | unboxed string literal PrimString :: String -> Literal -- | An indication whether a literal pattern has been negated or not. data Sign Signless :: Sign Negative :: Sign -- | The name of a Haskell module. newtype ModuleName ModuleName :: String -> ModuleName -- | This type is used to represent qualified variables, and also qualified -- constructors. data QName -- | name qualified with a module name Qual :: ModuleName -> Name -> QName -- | unqualified local name UnQual :: Name -> QName -- | built-in constructor with special syntax Special :: SpecialCon -> QName -- | This type is used to represent variables, and also constructors. data Name -- | varid or conid. Ident :: String -> Name -- | varsym or consym Symbol :: String -> Name -- | Possibly qualified infix operators (qop), appearing in -- expressions. data QOp -- | variable operator (qvarop) QVarOp :: QName -> QOp -- | constructor operator (qconop) QConOp :: QName -> QOp -- | Operators appearing in infix declarations are never -- qualified. data Op -- | variable operator (varop) VarOp :: Name -> Op -- | constructor operator (conop) ConOp :: Name -> Op -- | Constructors with special syntax. These names are never qualified, and -- always refer to builtin type or data constructors. data SpecialCon -- | unit type and data constructor () UnitCon :: SpecialCon -- | list type constructor [] ListCon :: SpecialCon -- | function type constructor -> FunCon :: SpecialCon -- | n-ary tuple type and data constructors (,) etc, -- possibly boxed (#,#) TupleCon :: Boxed -> Int -> SpecialCon -- | list data constructor (:) Cons :: SpecialCon -- | unboxed singleton tuple constructor (# #) UnboxedSingleCon :: SpecialCon -- | A name (cname) of a component of a class or data type in an -- import or export specification. data CName -- | name of a method or field VarName :: Name -> CName -- | name of a data constructor ConName :: Name -> CName -- | An implicit parameter name. data IPName -- | ?ident, non-linear implicit parameter IPDup :: String -> IPName -- | %ident, linear implicit parameter IPLin :: String -> IPName -- | The name of an xml element or attribute, possibly qualified with a -- namespace. data XName XName :: String -> XName XDomName :: String -> String -> XName data Role Nominal :: Role Representational :: Role Phantom :: Role RoleWildcard :: Role -- | A template haskell bracket expression. data Bracket -- | expression bracket: [| ... |] ExpBracket :: Exp -> Bracket -- | pattern bracket: [p| ... |] PatBracket :: Pat -> Bracket -- | type bracket: [t| ... |] TypeBracket :: Type -> Bracket -- | declaration bracket: [d| ... |] DeclBracket :: [Decl] -> Bracket -- | A template haskell splice expression data Splice -- | variable splice: $var IdSplice :: String -> Splice -- | parenthesised expression splice: $(exp) ParenSplice :: Exp -> Splice -- | The safety of a foreign function call. data Safety -- | unsafe PlayRisky :: Safety -- | safe (False) or threadsafe (True) PlaySafe :: Bool -> Safety -- | interruptible PlayInterruptible :: Safety -- | The calling convention of a foreign function call. data CallConv StdCall :: CallConv CCall :: CallConv CPlusPlus :: CallConv DotNet :: CallConv Jvm :: CallConv Js :: CallConv JavaScript :: CallConv CApi :: CallConv -- | A top level options pragma, preceding the module header. data ModulePragma -- | LANGUAGE pragma LanguagePragma :: SrcLoc -> [Name] -> ModulePragma -- | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC OptionsPragma :: SrcLoc -> (Maybe Tool) -> String -> ModulePragma -- | ANN pragma with module scope AnnModulePragma :: SrcLoc -> Annotation -> ModulePragma -- | Recognised tools for OPTIONS pragmas. data Tool GHC :: Tool HUGS :: Tool NHC98 :: Tool YHC :: Tool HADDOCK :: Tool UnknownTool :: String -> Tool -- | Recognised overlaps for overlap pragmas. data Overlap -- | NO_OVERLAP pragma NoOverlap :: Overlap -- | OVERLAP pragma Overlap :: Overlap -- | INCOHERENT pragma Incoherent :: Overlap -- | The body of a RULES pragma. data Rule Rule :: String -> Activation -> (Maybe [RuleVar]) -> Exp -> Exp -> Rule -- | Variables used in a RULES pragma, optionally annotated with types data RuleVar RuleVar :: Name -> RuleVar TypedRuleVar :: Name -> Type -> RuleVar -- | Activation clause of a RULES pragma. data Activation AlwaysActive :: Activation ActiveFrom :: Int -> Activation ActiveUntil :: Int -> Activation -- | An annotation through an ANN pragma. data Annotation -- | An annotation for a declared name. Ann :: Name -> Exp -> Annotation -- | An annotation for a declared type. TypeAnn :: Name -> Exp -> Annotation -- | An annotation for the defining module. ModuleAnn :: Exp -> Annotation -- | A boolean formula for MINIMAL pragmas. data BooleanFormula -- | A variable. VarFormula :: Name -> BooleanFormula -- | And boolean formulas. AndFormula :: [BooleanFormula] -> BooleanFormula -- | Or boolean formulas. OrFormula :: [BooleanFormula] -> BooleanFormula -- | Parenthesized boolean formulas. ParenFormula :: BooleanFormula -> BooleanFormula prelude_mod :: ModuleName main_mod :: ModuleName main_name :: Name unit_con_name :: QName tuple_con_name :: Boxed -> Int -> QName list_cons_name :: QName unboxed_singleton_con_name :: QName unit_con :: Exp tuple_con :: Boxed -> Int -> Exp unboxed_singleton_con :: Exp as_name :: Name qualified_name :: Name hiding_name :: Name minus_name :: Name bang_name :: Name dot_name :: Name star_name :: Name export_name :: Name safe_name :: Name unsafe_name :: Name interruptible_name :: Name threadsafe_name :: Name stdcall_name :: Name ccall_name :: Name cplusplus_name :: Name dotnet_name :: Name jvm_name :: Name js_name :: Name javascript_name :: Name capi_name :: Name forall_name :: Name family_name :: Name unit_tycon_name :: QName fun_tycon_name :: QName list_tycon_name :: QName tuple_tycon_name :: Boxed -> Int -> QName unboxed_singleton_tycon_name :: QName unit_tycon :: Type fun_tycon :: Type list_tycon :: Type tuple_tycon :: Boxed -> Int -> Type unboxed_singleton_tycon :: Type -- | A single position in the source. data SrcLoc SrcLoc :: String -> Int -> Int -> SrcLoc [srcFilename] :: SrcLoc -> String [srcLine] :: SrcLoc -> Int [srcColumn] :: SrcLoc -> Int instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Module instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Module instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ModulePragma instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ModulePragma instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0PXAttr instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1PXAttr instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0XAttr instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1XAttr instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0PatternSynDirection instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1PatternSynDirection instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0TypeEqn instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1TypeEqn instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Annotation instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Annotation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0IPBind instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1IPBind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Binds instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Binds instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Binds instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Match instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Match instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ClassDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ClassDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ConDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0QualConDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1QualConDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0GadtDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1GadtDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0InstDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1InstDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0GuardedRhs instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1GuardedRhs instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Rhs instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Rhs instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Rhs instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1RuleVar instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0RuleVar instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1RuleVar instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Rule instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Rule instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_32Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_31Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_30Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_29Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_28Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_27Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_26Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_25Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_24Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_23Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_22Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_21Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_20Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_19Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_18Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_17Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_16Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_15Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_14Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_13Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_12Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_11Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_10Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_9Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_8Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Decl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Decl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Promoted instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Promoted instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Asst instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Asst instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Bracket instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Bracket instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Splice instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Splice instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Splice instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0QualStmt instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1QualStmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0FieldUpdate instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1FieldUpdate instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_52Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_51Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_50Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_49Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_48Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_47Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_46Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_45Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_44Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_43Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_42Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_41Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_40Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_39Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_38Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_37Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_36Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_35Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_34Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_33Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_32Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_31Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_30Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_29Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_28Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_27Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_26Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_25Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_24Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_23Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_22Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_21Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_20Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_19Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_18Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_17Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_16Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_15Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_14Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_13Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_12Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_11Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_10Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_9Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_8Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Exp instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Exp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Stmt instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Stmt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0RPat instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1RPat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0PatField instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1PatField instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_21Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_20Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_19Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_18Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_17Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_16Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_15Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_14Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_13Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_12Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_11Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_10Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_9Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_8Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Pat instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Pat instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Alt instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Alt instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0RPatOp instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1RPatOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1WarningText instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0WarningText instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1WarningText instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Activation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Activation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Activation instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Activation instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Overlap instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Overlap instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0CallConv instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1CallConv instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Safety instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Safety instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1XName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0XName instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1XName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Sign instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Sign instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Sign instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_9Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_8Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_7Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Literal instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Literal instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0FunDep instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1FunDep instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1TyVarBind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0TyVarBind instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1TyVarBind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_6Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Kind instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Kind instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1BangType instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0BangType instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1BangType instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1DataOrNew instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0DataOrNew instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1DataOrNew instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3Role instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Role instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Role instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Role instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Role instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0BooleanFormula instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1BooleanFormula instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Assoc instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Assoc instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Assoc instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Assoc instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_7ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_6ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_5ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_4ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_3ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_2ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_1ImportDecl instance GHC.Generics.Selector Language.Haskell.Exts.Syntax.S1_0_0ImportDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ImportDecl instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ImportDecl instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ImportSpec instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ImportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ExportSpec instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ExportSpec instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Namespace instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Namespace instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1CName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0CName instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1CName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Op instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Op instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Op instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1QOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0QOp instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1QOp instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1IPName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0IPName instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1IPName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2QName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1QName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0QName instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1QName instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1Name instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0Name instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1Name instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_5SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_4SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_3SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_2SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_1SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0SpecialCon instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1SpecialCon instance GHC.Generics.Constructor Language.Haskell.Exts.Syntax.C1_0ModuleName instance GHC.Generics.Datatype Language.Haskell.Exts.Syntax.D1ModuleName instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Module instance Data.Data.Data Language.Haskell.Exts.Syntax.Module instance GHC.Show.Show Language.Haskell.Exts.Syntax.Module instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Module instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Module instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ModulePragma instance Data.Data.Data Language.Haskell.Exts.Syntax.ModulePragma instance GHC.Show.Show Language.Haskell.Exts.Syntax.ModulePragma instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ModulePragma instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ModulePragma instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.PXAttr instance Data.Data.Data Language.Haskell.Exts.Syntax.PXAttr instance GHC.Show.Show Language.Haskell.Exts.Syntax.PXAttr instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.PXAttr instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.PXAttr instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.XAttr instance Data.Data.Data Language.Haskell.Exts.Syntax.XAttr instance GHC.Show.Show Language.Haskell.Exts.Syntax.XAttr instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.XAttr instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.XAttr instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.PatternSynDirection instance Data.Data.Data Language.Haskell.Exts.Syntax.PatternSynDirection instance GHC.Show.Show Language.Haskell.Exts.Syntax.PatternSynDirection instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.PatternSynDirection instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.PatternSynDirection instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.TypeEqn instance Data.Data.Data Language.Haskell.Exts.Syntax.TypeEqn instance GHC.Show.Show Language.Haskell.Exts.Syntax.TypeEqn instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.TypeEqn instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.TypeEqn instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Annotation instance Data.Data.Data Language.Haskell.Exts.Syntax.Annotation instance GHC.Show.Show Language.Haskell.Exts.Syntax.Annotation instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Annotation instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Annotation instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.IPBind instance Data.Data.Data Language.Haskell.Exts.Syntax.IPBind instance GHC.Show.Show Language.Haskell.Exts.Syntax.IPBind instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.IPBind instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.IPBind instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Binds instance Data.Data.Data Language.Haskell.Exts.Syntax.Binds instance GHC.Show.Show Language.Haskell.Exts.Syntax.Binds instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Binds instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Binds instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Match instance Data.Data.Data Language.Haskell.Exts.Syntax.Match instance GHC.Show.Show Language.Haskell.Exts.Syntax.Match instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Match instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Match instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ClassDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.ClassDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.ClassDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ClassDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ClassDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ConDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.ConDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.ConDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ConDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ConDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.QualConDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.QualConDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.QualConDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.QualConDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.QualConDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.GadtDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.GadtDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.GadtDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.GadtDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.GadtDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.InstDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.InstDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.InstDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.InstDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.InstDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.GuardedRhs instance Data.Data.Data Language.Haskell.Exts.Syntax.GuardedRhs instance GHC.Show.Show Language.Haskell.Exts.Syntax.GuardedRhs instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.GuardedRhs instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.GuardedRhs instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Rhs instance Data.Data.Data Language.Haskell.Exts.Syntax.Rhs instance GHC.Show.Show Language.Haskell.Exts.Syntax.Rhs instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Rhs instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Rhs instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.RuleVar instance Data.Data.Data Language.Haskell.Exts.Syntax.RuleVar instance GHC.Show.Show Language.Haskell.Exts.Syntax.RuleVar instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.RuleVar instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.RuleVar instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Rule instance Data.Data.Data Language.Haskell.Exts.Syntax.Rule instance GHC.Show.Show Language.Haskell.Exts.Syntax.Rule instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Rule instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Rule instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Decl instance Data.Data.Data Language.Haskell.Exts.Syntax.Decl instance GHC.Show.Show Language.Haskell.Exts.Syntax.Decl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Decl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Decl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Promoted instance Data.Data.Data Language.Haskell.Exts.Syntax.Promoted instance GHC.Show.Show Language.Haskell.Exts.Syntax.Promoted instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Promoted instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Promoted instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Asst instance Data.Data.Data Language.Haskell.Exts.Syntax.Asst instance GHC.Show.Show Language.Haskell.Exts.Syntax.Asst instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Asst instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Asst instance Data.Data.Data Language.Haskell.Exts.Syntax.Type instance GHC.Show.Show Language.Haskell.Exts.Syntax.Type instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Type instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Type instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Bracket instance Data.Data.Data Language.Haskell.Exts.Syntax.Bracket instance GHC.Show.Show Language.Haskell.Exts.Syntax.Bracket instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Bracket instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Bracket instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Splice instance Data.Data.Data Language.Haskell.Exts.Syntax.Splice instance GHC.Show.Show Language.Haskell.Exts.Syntax.Splice instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Splice instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Splice instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.QualStmt instance Data.Data.Data Language.Haskell.Exts.Syntax.QualStmt instance GHC.Show.Show Language.Haskell.Exts.Syntax.QualStmt instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.QualStmt instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.QualStmt instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.FieldUpdate instance Data.Data.Data Language.Haskell.Exts.Syntax.FieldUpdate instance GHC.Show.Show Language.Haskell.Exts.Syntax.FieldUpdate instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.FieldUpdate instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.FieldUpdate instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Exp instance Data.Data.Data Language.Haskell.Exts.Syntax.Exp instance GHC.Show.Show Language.Haskell.Exts.Syntax.Exp instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Exp instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Exp instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Stmt instance Data.Data.Data Language.Haskell.Exts.Syntax.Stmt instance GHC.Show.Show Language.Haskell.Exts.Syntax.Stmt instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Stmt instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Stmt instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.RPat instance Data.Data.Data Language.Haskell.Exts.Syntax.RPat instance GHC.Show.Show Language.Haskell.Exts.Syntax.RPat instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.RPat instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.RPat instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.PatField instance Data.Data.Data Language.Haskell.Exts.Syntax.PatField instance GHC.Show.Show Language.Haskell.Exts.Syntax.PatField instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.PatField instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.PatField instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Pat instance Data.Data.Data Language.Haskell.Exts.Syntax.Pat instance GHC.Show.Show Language.Haskell.Exts.Syntax.Pat instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Pat instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Pat instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Alt instance Data.Data.Data Language.Haskell.Exts.Syntax.Alt instance GHC.Show.Show Language.Haskell.Exts.Syntax.Alt instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Alt instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Alt instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.RPatOp instance Data.Data.Data Language.Haskell.Exts.Syntax.RPatOp instance GHC.Show.Show Language.Haskell.Exts.Syntax.RPatOp instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.RPatOp instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.RPatOp instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.WarningText instance Data.Data.Data Language.Haskell.Exts.Syntax.WarningText instance GHC.Show.Show Language.Haskell.Exts.Syntax.WarningText instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.WarningText instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.WarningText instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Activation instance Data.Data.Data Language.Haskell.Exts.Syntax.Activation instance GHC.Show.Show Language.Haskell.Exts.Syntax.Activation instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Activation instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Activation instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Overlap instance Data.Data.Data Language.Haskell.Exts.Syntax.Overlap instance GHC.Show.Show Language.Haskell.Exts.Syntax.Overlap instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Overlap instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Overlap instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.CallConv instance Data.Data.Data Language.Haskell.Exts.Syntax.CallConv instance GHC.Show.Show Language.Haskell.Exts.Syntax.CallConv instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.CallConv instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.CallConv instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Safety instance Data.Data.Data Language.Haskell.Exts.Syntax.Safety instance GHC.Show.Show Language.Haskell.Exts.Syntax.Safety instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Safety instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Safety instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.XName instance Data.Data.Data Language.Haskell.Exts.Syntax.XName instance GHC.Show.Show Language.Haskell.Exts.Syntax.XName instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.XName instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.XName instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Sign instance Data.Data.Data Language.Haskell.Exts.Syntax.Sign instance GHC.Show.Show Language.Haskell.Exts.Syntax.Sign instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Sign instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Sign instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Literal instance Data.Data.Data Language.Haskell.Exts.Syntax.Literal instance GHC.Show.Show Language.Haskell.Exts.Syntax.Literal instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Literal instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Literal instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.FunDep instance Data.Data.Data Language.Haskell.Exts.Syntax.FunDep instance GHC.Show.Show Language.Haskell.Exts.Syntax.FunDep instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.FunDep instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.FunDep instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.TyVarBind instance Data.Data.Data Language.Haskell.Exts.Syntax.TyVarBind instance GHC.Show.Show Language.Haskell.Exts.Syntax.TyVarBind instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.TyVarBind instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.TyVarBind instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Kind instance Data.Data.Data Language.Haskell.Exts.Syntax.Kind instance GHC.Show.Show Language.Haskell.Exts.Syntax.Kind instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Kind instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Kind instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.BangType instance Data.Data.Data Language.Haskell.Exts.Syntax.BangType instance GHC.Show.Show Language.Haskell.Exts.Syntax.BangType instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.BangType instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.BangType instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.DataOrNew instance Data.Data.Data Language.Haskell.Exts.Syntax.DataOrNew instance GHC.Show.Show Language.Haskell.Exts.Syntax.DataOrNew instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.DataOrNew instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.DataOrNew instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Role instance Data.Data.Data Language.Haskell.Exts.Syntax.Role instance GHC.Show.Show Language.Haskell.Exts.Syntax.Role instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Role instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Role instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.BooleanFormula instance Data.Data.Data Language.Haskell.Exts.Syntax.BooleanFormula instance GHC.Show.Show Language.Haskell.Exts.Syntax.BooleanFormula instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.BooleanFormula instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.BooleanFormula instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Assoc instance Data.Data.Data Language.Haskell.Exts.Syntax.Assoc instance GHC.Show.Show Language.Haskell.Exts.Syntax.Assoc instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Assoc instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Assoc instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ImportDecl instance Data.Data.Data Language.Haskell.Exts.Syntax.ImportDecl instance GHC.Show.Show Language.Haskell.Exts.Syntax.ImportDecl instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ImportDecl instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ImportDecl instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ImportSpec instance Data.Data.Data Language.Haskell.Exts.Syntax.ImportSpec instance GHC.Show.Show Language.Haskell.Exts.Syntax.ImportSpec instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ImportSpec instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ImportSpec instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ExportSpec instance Data.Data.Data Language.Haskell.Exts.Syntax.ExportSpec instance GHC.Show.Show Language.Haskell.Exts.Syntax.ExportSpec instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ExportSpec instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ExportSpec instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Namespace instance Data.Data.Data Language.Haskell.Exts.Syntax.Namespace instance GHC.Show.Show Language.Haskell.Exts.Syntax.Namespace instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Namespace instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Namespace instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.CName instance Data.Data.Data Language.Haskell.Exts.Syntax.CName instance GHC.Show.Show Language.Haskell.Exts.Syntax.CName instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.CName instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.CName instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Op instance Data.Data.Data Language.Haskell.Exts.Syntax.Op instance GHC.Show.Show Language.Haskell.Exts.Syntax.Op instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Op instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Op instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.QOp instance Data.Data.Data Language.Haskell.Exts.Syntax.QOp instance GHC.Show.Show Language.Haskell.Exts.Syntax.QOp instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.QOp instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.QOp instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.IPName instance Data.Data.Data Language.Haskell.Exts.Syntax.IPName instance GHC.Show.Show Language.Haskell.Exts.Syntax.IPName instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.IPName instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.IPName instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.QName instance Data.Data.Data Language.Haskell.Exts.Syntax.QName instance GHC.Show.Show Language.Haskell.Exts.Syntax.QName instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.QName instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.QName instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.Name instance Data.Data.Data Language.Haskell.Exts.Syntax.Name instance GHC.Show.Show Language.Haskell.Exts.Syntax.Name instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.Name instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.Name instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.SpecialCon instance Data.Data.Data Language.Haskell.Exts.Syntax.SpecialCon instance GHC.Show.Show Language.Haskell.Exts.Syntax.SpecialCon instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.SpecialCon instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.SpecialCon instance GHC.Generics.Generic Language.Haskell.Exts.Syntax.ModuleName instance Data.Data.Data Language.Haskell.Exts.Syntax.ModuleName instance GHC.Show.Show Language.Haskell.Exts.Syntax.ModuleName instance GHC.Classes.Ord Language.Haskell.Exts.Syntax.ModuleName instance GHC.Classes.Eq Language.Haskell.Exts.Syntax.ModuleName -- | This module contains combinators to use when building Haskell source -- trees programmatically, as opposed to parsing them from a string. The -- contents here are quite experimental and will likely receive a lot of -- attention when the rest has stabilised. module Language.Haskell.Exts.Build -- | An identifier with the given string as its name. The string should be -- a valid Haskell identifier. name :: String -> Name -- | A symbol identifier. The string should be a valid Haskell symbol -- identifier. sym :: String -> Name -- | A local variable as expression. var :: Name -> Exp -- | Use the given identifier as an operator. op :: Name -> QOp -- | A qualified variable as expression. qvar :: ModuleName -> Name -> Exp -- | A pattern variable. pvar :: Name -> Pat -- | Application of expressions by juxtaposition. app :: Exp -> Exp -> Exp -- | Apply an operator infix. infixApp :: Exp -> QOp -> Exp -> Exp -- | Apply a function to a list of arguments. appFun :: Exp -> [Exp] -> Exp -- | A constructor pattern, with argument patterns. pApp :: Name -> [Pat] -> Pat -- | A tuple expression. tuple :: [Exp] -> Exp -- | A tuple pattern. pTuple :: [Pat] -> Pat -- | A tuple expression consisting of variables only. varTuple :: [Name] -> Exp -- | A tuple pattern consisting of variables only. pvarTuple :: [Name] -> Pat -- | A function with a given name. function :: String -> Exp -- | A literal string expression. strE :: String -> Exp -- | A literal character expression. charE :: Char -> Exp -- | A literal integer expression. intE :: Integer -> Exp -- | A literal string pattern. strP :: String -> Pat -- | A literal character pattern. charP :: Char -> Pat -- | A literal integer pattern. intP :: Integer -> Pat -- | A do block formed by the given statements. The last statement in the -- list should be a Qualifier expression. doE :: [Stmt] -> Exp -- | Lambda abstraction, given a list of argument patterns and an -- expression body. lamE :: SrcLoc -> [Pat] -> Exp -> Exp -- | A let ... in block. letE :: [Decl] -> Exp -> Exp -- | A case expression. caseE :: Exp -> [Alt] -> Exp -- | An unguarded alternative in a case expression. alt :: SrcLoc -> Pat -> Exp -> Alt -- | An alternative with a single guard in a case expression. altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt -- | A list expression. listE :: [Exp] -> Exp -- | The empty list expression. eList :: Exp -- | The empty list pattern. peList :: Pat -- | Put parentheses around an expression. paren :: Exp -> Exp -- | Put parentheses around a pattern. pParen :: Pat -> Pat -- | A qualifier expression statement. qualStmt :: Exp -> Stmt -- | A generator statement: pat <- exp genStmt :: SrcLoc -> Pat -> Exp -> Stmt -- | A let binding group as a statement. letStmt :: [Decl] -> Stmt -- | Hoist a set of declarations to a binding group. binds :: [Decl] -> Binds -- | An empty binding group. noBinds :: Maybe Binds -- | The wildcard pattern: _ wildcard :: Pat -- | Generate k names by appending numbers 1 through k to a given string. genNames :: String -> Int -> [Name] -- | A function with a single clause sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Maybe Binds -> Decl -- | A function with a single clause, a single argument, no guards and no -- where declarations simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl -- | A pattern bind where the pattern is a variable, and where there are no -- guards and no 'where' clause. patBind :: SrcLoc -> Pat -> Exp -> Decl -- | A pattern bind where the pattern is a variable, and where there are no -- guards, but with a 'where' clause. patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl -- | Bind an identifier to an expression. nameBind :: SrcLoc -> Name -> Exp -> Decl -- | Apply function of a given name to a list of arguments. metaFunction :: String -> [Exp] -> Exp -- | Apply a constructor of a given name to a list of pattern arguments, -- forming a constructor pattern. metaConPat :: String -> [Pat] -> Pat -- | Fixity information to give the parser so that infix operators can be -- parsed properly. module Language.Haskell.Exts.Fixity -- | Operator fixities are represented by their associativity (left, right -- or none) and their precedence (0-9). data Fixity Fixity :: Assoc -> Int -> QName -> Fixity infix_ :: Int -> [String] -> [Fixity] infixl_ :: Int -> [String] -> [Fixity] infixr_ :: Int -> [String] -> [Fixity] -- | All fixities defined in the Prelude. preludeFixities :: [Fixity] -- | All fixities defined in the base package. -- -- Note that the +++ operator appears in both Control.Arrows and -- Text.ParserCombinators.ReadP. The listed precedence for +++ -- in this list is that of Control.Arrows. baseFixities :: [Fixity] -- | Built-in fixity for prefix minus prefixMinusFixity :: (Assoc, Int) -- | All AST elements that may include expressions which in turn may need -- fixity tweaking will be instances of this class. class AppFixity ast -- | Tweak any expressions in the element to account for the fixities -- given. Assumes that all operator expressions are fully left -- associative chains to begin with. applyFixities :: (AppFixity ast, Monad m) => [Fixity] -> ast -> m ast instance Data.Data.Data Language.Haskell.Exts.Fixity.Fixity instance GHC.Show.Show Language.Haskell.Exts.Fixity.Fixity instance GHC.Classes.Ord Language.Haskell.Exts.Fixity.Fixity instance GHC.Classes.Eq Language.Haskell.Exts.Fixity.Fixity instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Exp instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Pat instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Module instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Decl instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Annotation instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.ClassDecl instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.InstDecl instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Match instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Rhs instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.GuardedRhs instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.PatField instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.RPat instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.PXAttr instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Stmt instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Binds instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.IPBind instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.FieldUpdate instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Alt instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.QualStmt instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Bracket instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.Splice instance Language.Haskell.Exts.Fixity.AppFixity Language.Haskell.Exts.Syntax.XAttr -- | Lexer for Haskell with extensions. module Language.Haskell.Exts.Lexer -- | Lex a string into a list of Haskell 2010 source tokens. lexTokenStream :: String -> ParseResult [Loc Token] -- | Lex a string into a list of Haskell source tokens, using an explicit -- mode. lexTokenStreamWithMode :: ParseMode -> String -> ParseResult [Loc Token] data Token VarId :: String -> Token QVarId :: (String, String) -> Token IDupVarId :: (String) -> Token ILinVarId :: (String) -> Token ConId :: String -> Token QConId :: (String, String) -> Token DVarId :: [String] -> Token VarSym :: String -> Token ConSym :: String -> Token QVarSym :: (String, String) -> Token QConSym :: (String, String) -> Token IntTok :: (Integer, String) -> Token FloatTok :: (Rational, String) -> Token Character :: (Char, String) -> Token StringTok :: (String, String) -> Token IntTokHash :: (Integer, String) -> Token WordTokHash :: (Integer, String) -> Token FloatTokHash :: (Rational, String) -> Token DoubleTokHash :: (Rational, String) -> Token CharacterHash :: (Char, String) -> Token StringHash :: (String, String) -> Token LeftParen :: Token RightParen :: Token LeftHashParen :: Token RightHashParen :: Token SemiColon :: Token LeftCurly :: Token RightCurly :: Token VRightCurly :: Token LeftSquare :: Token RightSquare :: Token ParArrayLeftSquare :: Token ParArrayRightSquare :: Token Comma :: Token Underscore :: Token BackQuote :: Token Dot :: Token DotDot :: Token Colon :: Token QuoteColon :: Token DoubleColon :: Token Equals :: Token Backslash :: Token Bar :: Token LeftArrow :: Token RightArrow :: Token At :: Token Tilde :: Token DoubleArrow :: Token Minus :: Token Exclamation :: Token Star :: Token LeftArrowTail :: Token RightArrowTail :: Token LeftDblArrowTail :: Token RightDblArrowTail :: Token THExpQuote :: Token THPatQuote :: Token THDecQuote :: Token THTypQuote :: Token THCloseQuote :: Token -- | ] THIdEscape :: (String) -> Token THParenEscape :: Token THVarQuote :: Token THTyQuote :: Token THQuasiQuote :: (String, String) -> Token RPGuardOpen :: Token RPGuardClose :: Token -- | ) RPCAt :: Token XCodeTagOpen :: Token XCodeTagClose :: Token XStdTagOpen :: Token XStdTagClose :: Token XCloseTagOpen :: Token XEmptyTagClose :: Token XChildTagOpen :: Token XPCDATA :: String -> Token XRPatOpen :: Token XRPatClose :: Token PragmaEnd :: Token RULES :: Token INLINE :: Bool -> Token INLINE_CONLIKE :: Token SPECIALISE :: Token SPECIALISE_INLINE :: Bool -> Token SOURCE :: Token DEPRECATED :: Token WARNING :: Token SCC :: Token GENERATED :: Token CORE :: Token UNPACK :: Token OPTIONS :: (Maybe String, String) -> Token LANGUAGE :: Token ANN :: Token MINIMAL :: Token NO_OVERLAP :: Token OVERLAP :: Token INCOHERENT :: Token KW_As :: Token KW_By :: Token KW_Case :: Token KW_Class :: Token KW_Data :: Token KW_Default :: Token KW_Deriving :: Token KW_Do :: Token KW_MDo :: Token KW_Else :: Token KW_Family :: Token KW_Forall :: Token KW_Group :: Token KW_Hiding :: Token KW_If :: Token KW_Import :: Token KW_In :: Token KW_Infix :: Token KW_InfixL :: Token KW_InfixR :: Token KW_Instance :: Token KW_Let :: Token KW_Module :: Token KW_NewType :: Token KW_Of :: Token KW_Proc :: Token KW_Rec :: Token KW_Role :: Token KW_Then :: Token KW_Type :: Token KW_Using :: Token KW_Where :: Token KW_Qualified :: Token KW_Pattern :: Token KW_Foreign :: Token KW_Export :: Token KW_Safe :: Token KW_Unsafe :: Token KW_Threadsafe :: Token KW_Interruptible :: Token KW_StdCall :: Token KW_CCall :: Token KW_CPlusPlus :: Token KW_DotNet :: Token KW_Jvm :: Token KW_Js :: Token KW_JavaScript :: Token KW_CApi :: Token EOF :: Token -- | An entity located in the source. data Loc a Loc :: SrcSpan -> a -> Loc a [loc] :: Loc a -> SrcSpan [unLoc] :: Loc a -> a showToken :: Token -> String -- | 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. module Language.Haskell.Exts.Annotated.Simplify -- | 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. sModule :: SrcInfo loc => Module loc -> Module -- | 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. sDecl :: SrcInfo loc => Decl loc -> Decl sPatSyn :: SrcInfo l => PatternSynDirection l -> PatternSynDirection sTypeEqn :: SrcInfo l => TypeEqn l -> TypeEqn sAnnotation :: SrcInfo loc => Annotation loc -> Annotation sBooleanFormula :: SrcInfo loc => BooleanFormula loc -> BooleanFormula sRole :: Role l -> Role 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]) sNamespace :: Namespace l -> Namespace sImportSpec :: ImportSpec l -> ImportSpec sAssoc :: Assoc l -> Assoc sDeclHead :: DeclHead l -> (Name, [TyVarBind]) sInstRule :: SrcInfo l => InstRule l -> ([TyVarBind], [Asst], (QName, [Type])) sInstHead :: SrcInfo l => InstHead l -> (QName, [Type]) sDataOrNew :: DataOrNew l -> DataOrNew sDeriving :: SrcInfo l => 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 :: SrcInfo l => ConDecl l -> ConDecl sFieldDecl :: SrcInfo l => FieldDecl l -> ([Name], Type) sGadtDecl :: SrcInfo loc => GadtDecl loc -> GadtDecl sClassDecl :: SrcInfo loc => ClassDecl loc -> ClassDecl sRecFields :: SrcInfo l => [FieldDecl l] -> [([Name], Type)] sInstDecl :: SrcInfo loc => InstDecl loc -> InstDecl sBangType :: SrcInfo l => BangType l -> BangType sRhs :: SrcInfo loc => Rhs loc -> Rhs sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> GuardedRhs sType :: SrcInfo l => Type l -> Type sPromoted :: SrcInfo l => Promoted l -> Promoted sTyVarBind :: TyVarBind l -> TyVarBind sKind :: Kind l -> Kind sFunDep :: FunDep l -> FunDep sContext :: SrcInfo l => Context l -> Context sAsst :: SrcInfo l => Asst l -> Asst sLiteral :: Literal l -> Literal sSign :: Sign l -> Sign 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 sOverlap :: SrcInfo loc => Overlap loc -> Overlap sActivation :: Activation l -> Activation sRule :: SrcInfo loc => Rule loc -> Rule sRuleVar :: SrcInfo l => 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 -- | Pretty printer for Haskell with extensions. module Language.Haskell.Exts.Pretty -- | Things that can be pretty-printed, including all the syntactic objects -- in Language.Haskell.Exts.Syntax and -- Language.Haskell.Exts.Annotated.Syntax. class Pretty a -- | render the document with a given mode. renderWithMode :: PPHsMode -- -> Doc -> String renderWithMode = renderStyleMode P.style -- -- render the document with defaultMode. render :: Doc -> -- String render = renderWithMode defaultMode -- -- pretty-print with a given style and mode. prettyPrintStyleMode :: Pretty a => Style -> PPHsMode -> a -> String -- | pretty-print with the default style and a given mode. prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String -- | pretty-print with the default style and defaultMode. prettyPrint :: Pretty a => a -> String -- | A rendering style. data Style :: * Style :: Mode -> Int -> Float -> Style -- | The rendering mode [mode] :: Style -> Mode -- | Length of line, in chars [lineLength] :: Style -> Int -- | Ratio of line length to ribbon length [ribbonsPerLine] :: Style -> Float -- | The default style (mode=PageMode, lineLength=100, -- ribbonsPerLine=1.5). style :: Style -- | Rendering mode. data Mode :: * -- | Normal PageMode :: Mode -- | With zig-zag cuts ZigZagMode :: Mode -- | No indentation, infinitely long lines LeftMode :: Mode -- | All on one line OneLineMode :: Mode -- | Pretty-printing parameters. -- -- Note: the onsideIndent must be positive and less than -- all other indents. data PPHsMode PPHsMode :: Indent -> Indent -> Indent -> Indent -> Indent -> Indent -> Indent -> Bool -> PPLayout -> Bool -> PPHsMode -- | indentation of a class or instance [classIndent] :: PPHsMode -> Indent -- | indentation of a do-expression [doIndent] :: PPHsMode -> Indent -- | indentation of the body of a case expression [multiIfIndent] :: PPHsMode -> Indent -- | indentation of the body of a multi-if expression [caseIndent] :: PPHsMode -> Indent -- | indentation of the declarations in a let expression [letIndent] :: PPHsMode -> Indent -- | indentation of the declarations in a where clause [whereIndent] :: PPHsMode -> Indent -- | indentation added for continuation lines that would otherwise be -- offside [onsideIndent] :: PPHsMode -> Indent -- | blank lines between statements? [spacing] :: PPHsMode -> Bool -- | Pretty-printing style to use [layout] :: PPHsMode -> PPLayout -- | add GHC-style LINE pragmas to output? [linePragmas] :: PPHsMode -> Bool type Indent = Int -- | Varieties of layout we can use. data PPLayout -- | classical layout PPOffsideRule :: PPLayout -- | classical layout made explicit PPSemiColon :: PPLayout -- | inline decls, with newlines between them PPInLine :: PPLayout -- | everything on a single line PPNoLayout :: PPLayout -- | The default mode: pretty-print using the offside rule and sensible -- defaults. defaultMode :: PPHsMode -- | pretty-print with the default style and defaultMode. prettyPrim :: Pretty a => a -> Doc -- | pretty-print with the default style and a given mode. prettyPrimWithMode :: Pretty a => PPHsMode -> a -> Doc instance GHC.Classes.Eq Language.Haskell.Exts.Pretty.PPLayout instance GHC.Base.Functor (Language.Haskell.Exts.Pretty.DocM s) instance GHC.Base.Applicative (Language.Haskell.Exts.Pretty.DocM s) instance GHC.Base.Monad (Language.Haskell.Exts.Pretty.DocM s) instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Module instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ModuleName instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Namespace instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ExportSpec instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ImportDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ImportSpec instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.TypeEqn instance Language.Haskell.Exts.Pretty.PrettyDeclLike Language.Haskell.Exts.Syntax.Decl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Decl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Annotation instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.BooleanFormula instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Role instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.DataOrNew instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Assoc instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Match instance Language.Haskell.Exts.Pretty.PrettyDeclLike Language.Haskell.Exts.Syntax.ClassDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ClassDecl instance Language.Haskell.Exts.Pretty.PrettyDeclLike Language.Haskell.Exts.Syntax.InstDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.InstDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Safety instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.CallConv instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Rule instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Activation instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Overlap instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.RuleVar instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ModulePragma instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Annotated.Syntax.Tool instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.QualConDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.GadtDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.ConDecl instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.BangType instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Type instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Promoted instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.TyVarBind instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Kind instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.FunDep instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Rhs instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.GuardedRhs instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Pretty.GuardedAlts instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Pretty.GuardedAlt instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Literal instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Exp instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.XAttr instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.XName instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Bracket instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Splice instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Pat instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.PXAttr instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.PatField instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.RPat instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.RPatOp instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Alt instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Stmt instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.QualStmt instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.FieldUpdate instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.QOp instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.QName instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Op instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Name instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.IPName instance Language.Haskell.Exts.Pretty.PrettyDeclLike Language.Haskell.Exts.Syntax.IPBind instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.IPBind instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.CName instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.SpecialCon instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.Syntax.Asst instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.SrcLoc.SrcLoc instance Language.Haskell.Exts.Pretty.Pretty Language.Haskell.Exts.SrcLoc.SrcSpan instance Language.Haskell.Exts.SrcLoc.SrcInfo pos => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Module pos) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ModuleHead l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.WarningText l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ModuleName l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ExportSpecList l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ExportSpec l) instance Language.Haskell.Exts.SrcLoc.SrcInfo pos => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ImportDecl pos) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ImportSpecList l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ImportSpec l) instance Language.Haskell.Exts.SrcLoc.SrcInfo pos => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Decl pos) instance Language.Haskell.Exts.SrcLoc.SrcInfo pos => Language.Haskell.Exts.Pretty.PrettyDeclLike (Language.Haskell.Exts.Annotated.Syntax.Decl pos) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.DeclHead l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.InstRule l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.InstHead l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.DataOrNew l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Assoc l) instance Language.Haskell.Exts.SrcLoc.SrcInfo pos => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Match pos) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ClassDecl loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.InstDecl loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Safety l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.CallConv l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Rule loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Activation l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.RuleVar l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ModulePragma loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Annotation loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.BangType l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Deriving l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Type l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.TyVarBind l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Kind l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.FunDep l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Rhs loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.GuardedRhs loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Literal l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Exp loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.XAttr loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.XName l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Bracket loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Splice loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Pat loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.PXAttr loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.PatField loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.RPat loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.RPatOp l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Alt loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Stmt loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.QualStmt loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.FieldUpdate loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.QOp l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.QName l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Op l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Name l) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.IPName l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.IPBind loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.PrettyDeclLike (Language.Haskell.Exts.Annotated.Syntax.IPBind loc) instance Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.CName l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Context l) instance Language.Haskell.Exts.SrcLoc.SrcInfo l => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.Annotated.Syntax.Asst l) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.PExp loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.PFieldUpdate loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.ParseXAttr loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.PContext loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.PAsst loc) instance Language.Haskell.Exts.SrcLoc.SrcInfo loc => Language.Haskell.Exts.Pretty.Pretty (Language.Haskell.Exts.ParseSyntax.PType loc) -- | Fixity information to give the parser so that infix operators can be -- parsed properly. module Language.Haskell.Exts.Annotated.Fixity -- | Operator fixities are represented by their associativity (left, right -- or none) and their precedence (0-9). data Fixity Fixity :: Assoc -> Int -> QName -> Fixity infix_ :: Int -> [String] -> [Fixity] infixl_ :: Int -> [String] -> [Fixity] infixr_ :: Int -> [String] -> [Fixity] -- | All fixities defined in the Prelude. preludeFixities :: [Fixity] -- | All fixities defined in the base package. -- -- Note that the +++ operator appears in both Control.Arrows and -- Text.ParserCombinators.ReadP. The listed precedence for +++ -- in this list is that of Control.Arrows. baseFixities :: [Fixity] -- | All AST elements that may include expressions which in turn may need -- fixity tweaking will be instances of this class. class AppFixity ast -- | Tweak any expressions in the element to account for the fixities -- given. Assumes that all operator expressions are fully left -- associative chains to begin with. applyFixities :: (AppFixity ast, Monad m) => [Fixity] -> ast SrcSpanInfo -> m (ast SrcSpanInfo) instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Exp instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Pat instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Module instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Decl instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Annotation instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.ClassDecl instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.InstDecl instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Match instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Rhs instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.GuardedRhs instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.PatField instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.RPat instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.PXAttr instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Stmt instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Binds instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.IPBind instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.FieldUpdate instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Alt instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.QualStmt instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Bracket instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.Splice instance Language.Haskell.Exts.Annotated.Fixity.AppFixity Language.Haskell.Exts.Annotated.Syntax.XAttr -- | Annotated parser for Haskell with extensions. module Language.Haskell.Exts.Annotated.Parser -- | Class providing function for parsing at many different types. -- -- Note that for convenience of implementation, the default methods have -- definitions equivalent to undefined. The minimal definition is -- all of the visible methods. class Parseable ast -- | Parse a string with default mode. parse :: Parseable ast => String -> ParseResult ast -- | Parse a string with an explicit ParseMode. parseWithMode :: Parseable ast => ParseMode -> String -> ParseResult ast -- | Parse a string with an explicit ParseMode, returning all -- comments along with the AST. parseWithComments :: Parseable ast => ParseMode -> String -> ParseResult (ast, [Comment]) -- | Parse of a string, which should contain a complete Haskell module, -- using defaultParseMode. parseModule :: String -> ParseResult (Module SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode. parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell expression, using -- defaultParseMode. parseExp :: String -> ParseResult (Exp SrcSpanInfo) -- | Parse of a string containing a Haskell expression, using an explicit -- ParseMode. parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell statement, using -- defaultParseMode. parseStmt :: String -> ParseResult (Stmt SrcSpanInfo) -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell pattern, using -- defaultParseMode. parsePat :: String -> ParseResult (Pat SrcSpanInfo) -- | Parse of a string containing a Haskell pattern, using an explicit -- ParseMode. parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell top-level declaration, using -- defaultParseMode. parseDecl :: String -> ParseResult (Decl SrcSpanInfo) -- | Parse of a string containing a Haskell top-level declaration, using an -- explicit ParseMode. parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell type, using -- defaultParseMode. parseType :: String -> ParseResult (Type SrcSpanInfo) -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment]) -- | Parse of a string containing a Haskell statement, using -- defaultParseMode. parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo) -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo) -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment]) -- | Instances of Parseable for NonGreedy a will only -- consume the input until a is fully parsed. This means that -- parse errors that come later in the input will be ignored. It's also -- more efficient, as it's fully lazy in the remainder of the input: -- --
--   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead
--   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})
--   
-- -- (this example uses the simplified AST) newtype NonGreedy a NonGreedy :: a -> NonGreedy a [unNonGreedy] :: NonGreedy a -> a -- | ListOf a stores lists of the AST type a, along with -- a SrcSpanInfo, in order to provide Parseable instances -- for lists. These instances are provided when the type is used as a -- list in the syntax, and the same delimiters are used in all of its -- usages. Some exceptions are made: data ListOf a ListOf :: SrcSpanInfo -> [a] -> ListOf a unListOf :: ListOf a -> [a] -- | Non-greedy parse of a string starting with a series of top-level -- option pragmas. getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo] -- | Type intended to be used with Parseable, with instances that -- implement a non-greedy parse of the module name, including top-level -- pragmas. This means that a parse error that comes after the module -- header won't be returned. If the Maybe value is Nothing, -- then this means that there was no module header. data PragmasAndModuleName l PragmasAndModuleName :: l -> [ModulePragma l] -> (Maybe (ModuleName l)) -> PragmasAndModuleName l data PragmasAndModuleHead l PragmasAndModuleHead :: l -> [ModulePragma l] -> (Maybe (ModuleHead l)) -> PragmasAndModuleHead l data ModuleHeadAndImports l ModuleHeadAndImports :: l -> [ModulePragma l] -> (Maybe (ModuleHead l)) -> [ImportDecl l] -> ModuleHeadAndImports l instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Parser.ListOf instance Data.Data.Data a => Data.Data.Data (Language.Haskell.Exts.Annotated.Parser.ListOf a) instance GHC.Show.Show a => GHC.Show.Show (Language.Haskell.Exts.Annotated.Parser.ListOf a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Parser.ListOf a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Parser.ListOf a) instance Data.Data.Data a => Data.Data.Data (Language.Haskell.Exts.Annotated.Parser.NonGreedy a) instance GHC.Show.Show a => GHC.Show.Show (Language.Haskell.Exts.Annotated.Parser.NonGreedy a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Parser.NonGreedy a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Parser.NonGreedy a) instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Parser.ModuleHeadAndImports l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Parser.ModuleHeadAndImports l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Parser.ModuleHeadAndImports l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Parser.ModuleHeadAndImports l) instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleHead l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleHead l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleHead l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleHead l) instance Data.Data.Data l => Data.Data.Data (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleName l) instance GHC.Show.Show l => GHC.Show.Show (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleName l) instance GHC.Classes.Ord l => GHC.Classes.Ord (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleName l) instance GHC.Classes.Eq l => GHC.Classes.Eq (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleName l) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Decl Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Exp Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Module Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Pat Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Stmt Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.Type Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Syntax.ImportDecl Language.Haskell.Exts.SrcLoc.SrcSpanInfo) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy (Language.Haskell.Exts.Annotated.Parser.ListOf (Language.Haskell.Exts.Annotated.Syntax.ModulePragma Language.Haskell.Exts.SrcLoc.SrcSpanInfo))) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleName Language.Haskell.Exts.SrcLoc.SrcSpanInfo)) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy (Language.Haskell.Exts.Annotated.Parser.PragmasAndModuleHead Language.Haskell.Exts.SrcLoc.SrcSpanInfo)) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy (Language.Haskell.Exts.Annotated.Parser.ModuleHeadAndImports Language.Haskell.Exts.SrcLoc.SrcSpanInfo)) instance GHC.Base.Functor Language.Haskell.Exts.Annotated.Parser.NonGreedy -- | Parser for Haskell with extensions. module Language.Haskell.Exts.Parser -- | Class providing function for parsing at many different types. -- -- Note that for convenience of implementation, the default methods have -- definitions equivalent to undefined. The minimal definition is -- all of the visible methods. class Parseable ast -- | Parse a string with default mode. parse :: Parseable ast => String -> ParseResult ast -- | Parse a string with an explicit ParseMode. parseWithMode :: Parseable ast => ParseMode -> String -> ParseResult ast -- | Parse a string with an explicit ParseMode, returning all -- comments along with the AST. parseWithComments :: Parseable ast => ParseMode -> String -> ParseResult (ast, [Comment]) -- | Static parameters governing a parse. Note that the various parse -- functions in Language.Haskell.Exts.Parser never look at -- LANGUAGE pragmas, regardless of what the -- ignoreLanguagePragmas flag is set to. Only the various -- parseFile functions in Language.Haskell.Exts will act -- on it, when set to False. data ParseMode ParseMode :: String -> Language -> [Extension] -> Bool -> Bool -> Maybe [Fixity] -> Bool -> ParseMode -- | original name of the file being parsed [parseFilename] :: ParseMode -> String -- | base language (e.g. Haskell98, Haskell2010) [baseLanguage] :: ParseMode -> Language -- | list of extensions enabled for parsing [extensions] :: ParseMode -> [Extension] -- | if True, the parser won't care about further extensions in -- LANGUAGE pragmas in source files [ignoreLanguagePragmas] :: ParseMode -> Bool -- | if True, the parser won't read line position information from -- LINE pragmas in source files [ignoreLinePragmas] :: ParseMode -> Bool -- | list of fixities to be aware of [fixities] :: ParseMode -> Maybe [Fixity] -- | Checks whether functions have a consistent arity [ignoreFunctionArity] :: ParseMode -> Bool -- | Default parameters for a parse. The default is an unknown filename, no -- extensions (i.e. Haskell 98), don't ignore LANGUAGE pragmas, do ignore -- LINE pragmas, and be aware of fixities from the Prelude. defaultParseMode :: ParseMode -- | The result of a parse. data ParseResult a -- | The parse succeeded, yielding a value. ParseOk :: a -> ParseResult a -- | The parse failed at the specified source location, with an error -- message. ParseFailed :: SrcLoc -> String -> ParseResult a -- | Retrieve the result of a successful parse, throwing an error if the -- parse is actually not successful. fromParseResult :: ParseResult a -> a -- | Parse of a string, which should contain a complete Haskell module, -- using defaultParseMode. parseModule :: String -> ParseResult Module -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode. parseModuleWithMode :: ParseMode -> String -> ParseResult Module -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseModuleWithComments :: ParseMode -> String -> ParseResult (Module, [Comment]) -- | Parse of a string containing a Haskell expression, using -- defaultParseMode. parseExp :: String -> ParseResult Exp -- | Parse of a string containing a Haskell expression, using an explicit -- ParseMode. parseExpWithMode :: ParseMode -> String -> ParseResult Exp -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseExpWithComments :: ParseMode -> String -> ParseResult (Exp, [Comment]) -- | Parse of a string containing a Haskell type, using -- defaultParseMode. parseStmt :: String -> ParseResult Stmt -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseStmtWithMode :: ParseMode -> String -> ParseResult Stmt -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt, [Comment]) -- | Parse of a string containing a Haskell pattern, using -- defaultParseMode. parsePat :: String -> ParseResult Pat -- | Parse of a string containing a Haskell pattern, using an explicit -- ParseMode. parsePatWithMode :: ParseMode -> String -> ParseResult Pat -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parsePatWithComments :: ParseMode -> String -> ParseResult (Pat, [Comment]) -- | Parse of a string containing a Haskell top-level declaration, using -- defaultParseMode parseDecl :: String -> ParseResult Decl -- | Parse of a string containing a Haskell top-level declaration, using an -- explicit ParseMode. parseDeclWithMode :: ParseMode -> String -> ParseResult Decl -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl, [Comment]) -- | Parse of a string containing a Haskell type, using -- defaultParseMode. parseType :: String -> ParseResult Type -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseTypeWithMode :: ParseMode -> String -> ParseResult Type -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseTypeWithComments :: ParseMode -> String -> ParseResult (Type, [Comment]) -- | Parse of a string containing a Haskell import declaration, using -- defaultParseMode. parseImportDecl :: String -> ParseResult ImportDecl -- | Parse of a string containing a Haskell type, using an explicit -- ParseMode. parseImportDeclWithMode :: ParseMode -> String -> ParseResult ImportDecl -- | Parse of a string containing a complete Haskell module, using an -- explicit ParseMode, retaining comments. parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl, [Comment]) -- | Instances of Parseable for NonGreedy a will only -- consume the input until a is fully parsed. This means that -- parse errors that come later in the input will be ignored. It's also -- more efficient, as it's fully lazy in the remainder of the input: -- --
--   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead
--   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})
--   
-- -- (this example uses the simplified AST) newtype NonGreedy a NonGreedy :: a -> NonGreedy a [unNonGreedy] :: NonGreedy a -> a -- | Partial parse of a string starting with a series of top-level option -- pragmas. getTopPragmas :: String -> ParseResult [ModulePragma] -- | Type intended to be used with Parseable, with instances that -- implement a non-greedy parse of the module name, including top-level -- pragmas. This means that a parse error that comes after the module -- header won't be returned. If no module name is found (and no parse -- error occurs), then "Main" is returned. This is the same behavior that -- parseModule has. data PragmasAndModuleName PragmasAndModuleName :: [ModulePragma] -> ModuleName -> PragmasAndModuleName -- | Type intended to be used with Parseable, with instances that -- implement a non-greedy parse of the module name, including top-level -- pragmas. This means that a parse error that comes after the module -- header won't be returned. If no module head is found, then a default -- simple head like "module Main where" is assumed. This is the same -- behavior that parseModule has. -- -- Note that the ParseMode particularly matters for this due to -- the MagicHash changing the lexing of identifiers to include -- "#". data PragmasAndModuleHead PragmasAndModuleHead :: [ModulePragma] -> (ModuleName, Maybe WarningText, Maybe [ExportSpec]) -> PragmasAndModuleHead -- | Type intended to be used with Parseable, with instances that -- implement a non-greedy parse of the module head, including top-level -- pragmas, module name, export list, and import list. This means that if -- a parse error that comes after the imports won't be returned. If no -- module head is found, then a default simple head like "module Main -- where" is assumed. This is the same behavior that parseModule -- has. -- -- Note that the ParseMode particularly matters for this due to -- the MagicHash changing the lexing of identifiers to include -- "#". data ModuleHeadAndImports ModuleHeadAndImports :: [ModulePragma] -> (ModuleName, Maybe WarningText, Maybe [ExportSpec]) -> [ImportDecl] -> ModuleHeadAndImports instance Data.Data.Data Language.Haskell.Exts.Parser.ModuleHeadAndImports instance GHC.Show.Show Language.Haskell.Exts.Parser.ModuleHeadAndImports instance GHC.Classes.Ord Language.Haskell.Exts.Parser.ModuleHeadAndImports instance GHC.Classes.Eq Language.Haskell.Exts.Parser.ModuleHeadAndImports instance Data.Data.Data Language.Haskell.Exts.Parser.PragmasAndModuleHead instance GHC.Show.Show Language.Haskell.Exts.Parser.PragmasAndModuleHead instance GHC.Classes.Ord Language.Haskell.Exts.Parser.PragmasAndModuleHead instance GHC.Classes.Eq Language.Haskell.Exts.Parser.PragmasAndModuleHead instance Data.Data.Data Language.Haskell.Exts.Parser.PragmasAndModuleName instance GHC.Show.Show Language.Haskell.Exts.Parser.PragmasAndModuleName instance GHC.Classes.Ord Language.Haskell.Exts.Parser.PragmasAndModuleName instance GHC.Classes.Eq Language.Haskell.Exts.Parser.PragmasAndModuleName instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Decl instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Exp instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Module instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Pat instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Stmt instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.Type instance Language.Haskell.Exts.ParseMonad.Parseable Language.Haskell.Exts.Syntax.ImportDecl instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy [Language.Haskell.Exts.Syntax.ModulePragma]) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy Language.Haskell.Exts.Parser.PragmasAndModuleName) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy Language.Haskell.Exts.Parser.PragmasAndModuleHead) instance Language.Haskell.Exts.ParseMonad.Parseable (Language.Haskell.Exts.Annotated.Parser.NonGreedy Language.Haskell.Exts.Parser.ModuleHeadAndImports) -- | An umbrella module for the various functionality of the package. Also -- provides some convenient functionality for dealing directly with -- source files. module Language.Haskell.Exts.Annotated -- | Parse a source file on disk, using the default parse mode. parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo)) -- | Parse a source file on disk, supplying a custom parse mode. parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo)) -- | Parse a source file on disk, with an extra set of extensions to know -- about on top of what the file itself declares. parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) -- | Parse a source file from a string using the default parse mode. parseFileContents :: String -> ParseResult (Module SrcSpanInfo) -- | Parse a source file from a string using a custom parse mode. parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) -- | Parse a source file from a string, with an extra set of extensions to -- know about on top of what the file itself declares. parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo) parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) -- | Gather the extensions declared in LANGUAGE pragmas at the top of the -- file. Returns Nothing if the parse of the pragmas fails. readExtensions :: String -> Maybe (Maybe Language, [Extension]) -- | An umbrella module for the various functionality of the package. Also -- provides some convenient functionality for dealing directly with -- source files. module Language.Haskell.Exts -- | Parse a source file on disk, using the default parse mode. parseFile :: FilePath -> IO (ParseResult Module) -- | Parse a source file on disk, supplying a custom parse mode. parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult Module) -- | Parse a source file on disk, with an extra set of extensions to know -- about on top of what the file itself declares. parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult Module) -- | Parse a source file on disk, supplying a custom parse mode, and -- retaining comments. parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment])) -- | Parse a source file on disk, supplying a custom parse mode, and -- retaining comments as well as unknown pragmas. parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment], [UnknownPragma])) -- | Parse a source file from a string using the default parse mode. parseFileContents :: String -> ParseResult Module -- | Parse a source file from a string using a custom parse mode. parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module -- | Parse a source file from a string, with an extra set of extensions to -- know about on top of what the file itself declares. parseFileContentsWithExts :: [Extension] -> String -> ParseResult Module -- | Parse a source file from a string using a custom parse mode and -- retaining comments. parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment]) -- | Parse a source file from a string using a custom parse mode retaining -- comments as well as unknown pragmas. parseFileContentsWithCommentsAndPragmas :: ParseMode -> String -> ParseResult (Module, [Comment], [UnknownPragma]) -- | Gather the extensions declared in LANGUAGE pragmas at the top of the -- file. Returns Nothing if the parse of the pragmas fails. readExtensions :: String -> Maybe (Maybe Language, [Extension])