haskell-src-exts-simple 1.23.0.0 → 1.23.1.0
raw patch · 5 files changed
+352/−2 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Language.Haskell.Exts.Simple.Parser: pattern PragmasAndModuleName :: () => () => [ModulePragma] -> Maybe ModuleName -> PragmasAndModuleName
- Language.Haskell.Exts.Simple.Parser: pattern ListOf :: forall a. () => () => [a] -> ListOf a
- Language.Haskell.Exts.Simple.Syntax: pattern AnnPragma :: () => () => Annotation -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern AssocNone :: () => () => Assoc
- Language.Haskell.Exts.Simple.Syntax: pattern CxSingle :: () => () => Asst -> Context
- Language.Haskell.Exts.Simple.Syntax: pattern BangedTy :: () => () => BangType
- Language.Haskell.Exts.Simple.Syntax: pattern Let :: () => () => Binds -> Exp -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern ImportSpecList :: () => () => Bool -> [ImportSpec] -> ImportSpecList
- Language.Haskell.Exts.Simple.Syntax: pattern ParenFormula :: () => () => BooleanFormula -> BooleanFormula
- Language.Haskell.Exts.Simple.Syntax: pattern TupleCon :: () => () => Boxed -> Int -> SpecialCon
- Language.Haskell.Exts.Simple.Syntax: pattern BracketExp :: () => () => Bracket -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern ForImp :: () => () => CallConv -> Maybe Safety -> Maybe String -> Name -> Type -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern CxEmpty :: () => () => Context
- Language.Haskell.Exts.Simple.Syntax: pattern DataDecl :: () => () => DataOrNew -> Maybe Context -> DeclHead -> [QualConDecl] -> [Deriving] -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern ClsDecl :: () => () => Decl -> ClassDecl
- Language.Haskell.Exts.Simple.Syntax: pattern TypeDecl :: () => () => DeclHead -> Type -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern DerivStock :: () => () => DerivStrategy
- Language.Haskell.Exts.Simple.Syntax: pattern SpliceDecl :: () => () => Exp -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern IPBind :: () => () => IPName -> Exp -> IPBind
- Language.Haskell.Exts.Simple.Syntax: pattern IHParen :: () => () => InstHead -> InstHead
- Language.Haskell.Exts.Simple.Syntax: pattern InstSig :: () => () => InstRule -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern PromotedInteger :: () => () => Integer -> String -> Promoted
- Language.Haskell.Exts.Simple.Syntax: pattern KindSig :: () => () => Kind -> ResultSig
- Language.Haskell.Exts.Simple.Syntax: pattern Lit :: () => () => Literal -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern Module :: () => () => Maybe ModuleHead -> [ModulePragma] -> [ImportDecl] -> [Decl] -> Module
- Language.Haskell.Exts.Simple.Syntax: pattern UnQual :: () => () => Name -> QName
- Language.Haskell.Exts.Simple.Syntax: pattern EAbs :: () => () => Namespace -> QName -> ExportSpec
- Language.Haskell.Exts.Simple.Syntax: pattern PatBind :: () => () => Pat -> Rhs -> Maybe Binds -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern PFieldWildcard :: () => () => PatField
- Language.Haskell.Exts.Simple.Syntax: pattern Unidirectional :: () => () => PatternSynDirection
- Language.Haskell.Exts.Simple.Syntax: pattern TyPromoted :: () => () => Promoted -> Type
- Language.Haskell.Exts.Simple.Syntax: pattern QVarOp :: () => () => QName -> QOp
- Language.Haskell.Exts.Simple.Syntax: pattern RightSection :: () => () => QOp -> Exp -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern RPOp :: () => () => RPat -> RPatOp -> RPat
- Language.Haskell.Exts.Simple.Syntax: pattern RPStar :: () => () => RPatOp
- Language.Haskell.Exts.Simple.Syntax: pattern Frac :: () => () => Rational -> Literal
- Language.Haskell.Exts.Simple.Syntax: pattern Nominal :: () => () => Role
- Language.Haskell.Exts.Simple.Syntax: pattern PlayRisky :: () => () => Safety
- Language.Haskell.Exts.Simple.Syntax: pattern Signless :: () => () => Sign
- Language.Haskell.Exts.Simple.Syntax: pattern UnitCon :: () => () => SpecialCon
- Language.Haskell.Exts.Simple.Syntax: pattern TySplice :: () => () => Splice -> Type
- Language.Haskell.Exts.Simple.Syntax: pattern QualStmt :: () => () => Stmt -> QualStmt
- Language.Haskell.Exts.Simple.Syntax: pattern TyVarSig :: () => () => TyVarBind -> ResultSig
- Language.Haskell.Exts.Simple.Syntax: pattern TypeInsDecl :: () => () => Type -> Type -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern Unpack :: () => () => Unpackedness
- Language.Haskell.Exts.Simple.Syntax: pattern DeprPragmaDecl :: () => () => [([Name], String)] -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern LCase :: () => () => [Alt] -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern CxTuple :: () => () => [Asst] -> Context
- Language.Haskell.Exts.Simple.Syntax: pattern AndFormula :: () => () => [BooleanFormula] -> BooleanFormula
- Language.Haskell.Exts.Simple.Syntax: pattern ExplicitBidirectional :: () => () => [Decl] -> PatternSynDirection
- Language.Haskell.Exts.Simple.Syntax: pattern List :: () => () => [Exp] -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern ExportSpecList :: () => () => [ExportSpec] -> ExportSpecList
- Language.Haskell.Exts.Simple.Syntax: pattern GuardedRhss :: () => () => [GuardedRhs] -> Rhs
- Language.Haskell.Exts.Simple.Syntax: pattern IPBinds :: () => () => [IPBind] -> Binds
- Language.Haskell.Exts.Simple.Syntax: pattern FunBind :: () => () => [Match] -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern TypeSig :: () => () => [Name] -> Type -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern Lambda :: () => () => [Pat] -> Exp -> Exp
- Language.Haskell.Exts.Simple.Syntax: pattern PRPat :: () => () => [RPat] -> Pat
- Language.Haskell.Exts.Simple.Syntax: pattern RulePragmaDecl :: () => () => [Rule] -> Decl
- Language.Haskell.Exts.Simple.Syntax: pattern GuardedRhs :: () => () => [Stmt] -> Exp -> GuardedRhs
- Language.Haskell.Exts.Simple.Syntax: pattern DefaultDecl :: () => () => [Type] -> Decl
+ Language.Haskell.Exts.Simple.Parser: parseWithComments :: (Parseable (ast SrcSpanInfo), Functor ast) => ParseMode -> String -> ParseResult (ast (), [Comment])
+ Language.Haskell.Exts.Simple.Parser: pattern ListOf :: [a] -> ListOf a
+ Language.Haskell.Exts.Simple.Parser: pattern ModuleHeadAndImports :: [ModulePragma] -> Maybe ModuleHead -> [ImportDecl] -> ModuleHeadAndImports ()
+ Language.Haskell.Exts.Simple.Parser: pattern PragmasAndModuleHead :: [ModulePragma] -> Maybe ModuleHead -> PragmasAndModuleHead ()
+ Language.Haskell.Exts.Simple.Parser: pattern PragmasAndModuleName :: [ModulePragma] -> Maybe ModuleName -> PragmasAndModuleName
+ Language.Haskell.Exts.Simple.Syntax: pattern ActiveFrom :: Int -> Activation
+ Language.Haskell.Exts.Simple.Syntax: pattern ActiveUntil :: Int -> Activation
+ Language.Haskell.Exts.Simple.Syntax: pattern Alt :: Pat -> Rhs -> Maybe Binds -> Alt
+ Language.Haskell.Exts.Simple.Syntax: pattern AndFormula :: [BooleanFormula] -> BooleanFormula
+ Language.Haskell.Exts.Simple.Syntax: pattern Ann :: Name -> Exp -> Annotation
+ Language.Haskell.Exts.Simple.Syntax: pattern AnnModulePragma :: Annotation -> ModulePragma
+ Language.Haskell.Exts.Simple.Syntax: pattern AnnPragma :: Annotation -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern App :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ArrOp :: Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern AssocLeft :: Assoc
+ Language.Haskell.Exts.Simple.Syntax: pattern AssocNone :: Assoc
+ Language.Haskell.Exts.Simple.Syntax: pattern AssocRight :: Assoc
+ Language.Haskell.Exts.Simple.Syntax: pattern BDecls :: [Decl] -> Binds
+ Language.Haskell.Exts.Simple.Syntax: pattern BangedTy :: BangType
+ Language.Haskell.Exts.Simple.Syntax: pattern BracketExp :: Bracket -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern CApi :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern CCall :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern CPlusPlus :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern Case :: Exp -> [Alt] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ClassDecl :: Maybe Context -> DeclHead -> [FunDep] -> Maybe [ClassDecl] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClosedTypeFamDecl :: DeclHead -> Maybe ResultSig -> Maybe InjectivityInfo -> [TypeEqn] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClsDataFam :: Maybe Context -> DeclHead -> Maybe ResultSig -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClsDecl :: Decl -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClsDefSig :: Name -> Type -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClsTyDef :: TypeEqn -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ClsTyFam :: DeclHead -> Maybe ResultSig -> Maybe InjectivityInfo -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern CompletePragma :: [Name] -> Maybe QName -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern Con :: QName -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ConDecl :: Name -> [Type] -> ConDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ConName :: Name -> CName
+ Language.Haskell.Exts.Simple.Syntax: pattern ConOp :: Name -> Op
+ Language.Haskell.Exts.Simple.Syntax: pattern Cons :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern CorePragma :: String -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern CxEmpty :: Context
+ Language.Haskell.Exts.Simple.Syntax: pattern CxSingle :: Asst -> Context
+ Language.Haskell.Exts.Simple.Syntax: pattern CxTuple :: [Asst] -> Context
+ Language.Haskell.Exts.Simple.Syntax: pattern DHApp :: DeclHead -> TyVarBind -> DeclHead
+ Language.Haskell.Exts.Simple.Syntax: pattern DHInfix :: TyVarBind -> Name -> DeclHead
+ Language.Haskell.Exts.Simple.Syntax: pattern DHParen :: DeclHead -> DeclHead
+ Language.Haskell.Exts.Simple.Syntax: pattern DHead :: Name -> DeclHead
+ Language.Haskell.Exts.Simple.Syntax: pattern DataDecl :: DataOrNew -> Maybe Context -> DeclHead -> [QualConDecl] -> [Deriving] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DataFamDecl :: Maybe Context -> DeclHead -> Maybe ResultSig -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DataInsDecl :: DataOrNew -> Type -> [QualConDecl] -> [Deriving] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DataType :: DataOrNew
+ Language.Haskell.Exts.Simple.Syntax: pattern DeclBracket :: [Decl] -> Bracket
+ Language.Haskell.Exts.Simple.Syntax: pattern DefaultDecl :: [Type] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DeprPragmaDecl :: [([Name], String)] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DeprText :: String -> WarningText
+ Language.Haskell.Exts.Simple.Syntax: pattern DerivAnyclass :: DerivStrategy
+ Language.Haskell.Exts.Simple.Syntax: pattern DerivDecl :: Maybe DerivStrategy -> Maybe Overlap -> InstRule -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern DerivNewtype :: DerivStrategy
+ Language.Haskell.Exts.Simple.Syntax: pattern DerivStock :: DerivStrategy
+ Language.Haskell.Exts.Simple.Syntax: pattern DerivVia :: Type -> DerivStrategy
+ Language.Haskell.Exts.Simple.Syntax: pattern Deriving :: Maybe DerivStrategy -> [InstRule] -> Deriving
+ Language.Haskell.Exts.Simple.Syntax: pattern Do :: [Stmt] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern DotNet :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern EAbs :: Namespace -> QName -> ExportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern EModuleContents :: ModuleName -> ExportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern EThingWith :: EWildcard -> QName -> [CName] -> ExportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern EVar :: QName -> ExportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern EnumFrom :: Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern EnumFromThen :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern EnumFromThenTo :: Exp -> Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern EnumFromTo :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ExpBracket :: Exp -> Bracket
+ Language.Haskell.Exts.Simple.Syntax: pattern ExpTypeSig :: Exp -> Type -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ExplicitBidirectional :: [Decl] -> PatternSynDirection
+ Language.Haskell.Exts.Simple.Syntax: pattern ExportSpecList :: [ExportSpec] -> ExportSpecList
+ Language.Haskell.Exts.Simple.Syntax: pattern ExprHole :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern FieldDecl :: [Name] -> Type -> FieldDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern FieldPun :: QName -> FieldUpdate
+ Language.Haskell.Exts.Simple.Syntax: pattern FieldWildcard :: FieldUpdate
+ Language.Haskell.Exts.Simple.Syntax: pattern ForExp :: CallConv -> Maybe String -> Name -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern ForImp :: CallConv -> Maybe Safety -> Maybe String -> Name -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern Frac :: Rational -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern FunBind :: [Match] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern FunCon :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern FunDep :: [Name] -> [Name] -> FunDep
+ Language.Haskell.Exts.Simple.Syntax: pattern GDataDecl :: DataOrNew -> Maybe Context -> DeclHead -> Maybe Kind -> [GadtDecl] -> [Deriving] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern GDataInsDecl :: DataOrNew -> Type -> Maybe Kind -> [GadtDecl] -> [Deriving] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern GadtDecl :: Name -> Maybe [TyVarBind] -> Maybe Context -> Maybe [FieldDecl] -> Type -> GadtDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern GenPragma :: String -> (Int, Int) -> (Int, Int) -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Generator :: Pat -> Exp -> Stmt
+ Language.Haskell.Exts.Simple.Syntax: pattern GroupBy :: Exp -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern GroupByUsing :: Exp -> Exp -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern GroupUsing :: Exp -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern GuardedRhs :: [Stmt] -> Exp -> GuardedRhs
+ Language.Haskell.Exts.Simple.Syntax: pattern GuardedRhss :: [GuardedRhs] -> Rhs
+ Language.Haskell.Exts.Simple.Syntax: pattern IAbs :: Namespace -> Name -> ImportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern IHApp :: InstHead -> Type -> InstHead
+ Language.Haskell.Exts.Simple.Syntax: pattern IHCon :: QName -> InstHead
+ Language.Haskell.Exts.Simple.Syntax: pattern IHInfix :: Type -> QName -> InstHead
+ Language.Haskell.Exts.Simple.Syntax: pattern IHParen :: InstHead -> InstHead
+ Language.Haskell.Exts.Simple.Syntax: pattern IPBind :: IPName -> Exp -> IPBind
+ Language.Haskell.Exts.Simple.Syntax: pattern IPBinds :: [IPBind] -> Binds
+ Language.Haskell.Exts.Simple.Syntax: pattern IPDup :: String -> IPName
+ Language.Haskell.Exts.Simple.Syntax: pattern IPLin :: String -> IPName
+ Language.Haskell.Exts.Simple.Syntax: pattern IPVar :: IPName -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern IParam :: IPName -> Type -> Asst
+ Language.Haskell.Exts.Simple.Syntax: pattern IParen :: InstRule -> InstRule
+ Language.Haskell.Exts.Simple.Syntax: pattern IRule :: Maybe [TyVarBind] -> Maybe Context -> InstHead -> InstRule
+ Language.Haskell.Exts.Simple.Syntax: pattern IThingAll :: Name -> ImportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern IThingWith :: Name -> [CName] -> ImportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern IVar :: Name -> ImportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern IdSplice :: String -> Splice
+ Language.Haskell.Exts.Simple.Syntax: pattern Ident :: String -> Name
+ Language.Haskell.Exts.Simple.Syntax: pattern If :: Exp -> Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ImplicitBidirectional :: PatternSynDirection
+ Language.Haskell.Exts.Simple.Syntax: pattern ImportDecl :: ModuleName () -> Bool -> Bool -> Bool -> Maybe String -> Maybe (ModuleName ()) -> Maybe (ImportSpecList ()) -> ImportDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern ImportSpecList :: Bool -> [ImportSpec] -> ImportSpecList
+ Language.Haskell.Exts.Simple.Syntax: pattern Incoherent :: Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern InfixApp :: Exp -> QOp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern InfixConDecl :: Type -> Name -> Type -> ConDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern InfixDecl :: Assoc -> Maybe Int -> [Op] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern InfixMatch :: Pat -> Name -> [Pat] -> Rhs -> Maybe Binds -> Match
+ Language.Haskell.Exts.Simple.Syntax: pattern InjectivityInfo :: Name -> [Name] -> InjectivityInfo
+ Language.Haskell.Exts.Simple.Syntax: pattern InlineConlikeSig :: Maybe Activation -> QName -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern InlineSig :: Bool -> Maybe Activation -> QName -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern InsData :: DataOrNew -> Type -> [QualConDecl] -> [Deriving] -> InstDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern InsDecl :: Decl -> InstDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern InsGData :: DataOrNew -> Type -> Maybe Kind -> [GadtDecl] -> [Deriving] -> InstDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern InsType :: Type -> Type -> InstDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern InstDecl :: Maybe Overlap -> InstRule -> Maybe [InstDecl] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern InstSig :: InstRule -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern JavaScript :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern Js :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern Jvm :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern KindSig :: Kind -> ResultSig
+ Language.Haskell.Exts.Simple.Syntax: pattern KindedVar :: Name -> Kind -> TyVarBind
+ Language.Haskell.Exts.Simple.Syntax: pattern LCase :: [Alt] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Lambda :: [Pat] -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern LanguagePragma :: [Name] -> ModulePragma
+ Language.Haskell.Exts.Simple.Syntax: pattern LazyTy :: BangType
+ Language.Haskell.Exts.Simple.Syntax: pattern LeftArrApp :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern LeftArrHighApp :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern LeftSection :: Exp -> QOp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Let :: Binds -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern LetStmt :: Binds -> Stmt
+ Language.Haskell.Exts.Simple.Syntax: pattern List :: [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ListComp :: Exp -> [QualStmt] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ListCon :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern Lit :: Literal -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern MDo :: [Stmt] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Match :: Name -> [Pat] -> Rhs -> Maybe Binds -> Match
+ Language.Haskell.Exts.Simple.Syntax: pattern MinimalPragma :: Maybe BooleanFormula -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern Module :: Maybe ModuleHead -> [ModulePragma] -> [ImportDecl] -> [Decl] -> Module
+ Language.Haskell.Exts.Simple.Syntax: pattern ModuleAnn :: Exp -> Annotation
+ Language.Haskell.Exts.Simple.Syntax: pattern ModuleHead :: ModuleName -> Maybe WarningText -> Maybe ExportSpecList -> ModuleHead
+ Language.Haskell.Exts.Simple.Syntax: pattern MultiIf :: [GuardedRhs] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern NegApp :: Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Negative :: Sign
+ Language.Haskell.Exts.Simple.Syntax: pattern NewType :: DataOrNew
+ Language.Haskell.Exts.Simple.Syntax: pattern NoNamespace :: Namespace
+ Language.Haskell.Exts.Simple.Syntax: pattern NoOverlap :: Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern NoStrictAnnot :: BangType
+ Language.Haskell.Exts.Simple.Syntax: pattern NoUnpack :: Unpackedness
+ Language.Haskell.Exts.Simple.Syntax: pattern NoUnpackPragma :: Unpackedness
+ Language.Haskell.Exts.Simple.Syntax: pattern NoWildcard :: EWildcard
+ Language.Haskell.Exts.Simple.Syntax: pattern Nominal :: Role
+ Language.Haskell.Exts.Simple.Syntax: pattern OptionsPragma :: Maybe Tool -> String -> ModulePragma
+ Language.Haskell.Exts.Simple.Syntax: pattern OrFormula :: [BooleanFormula] -> BooleanFormula
+ Language.Haskell.Exts.Simple.Syntax: pattern Overlappable :: Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern Overlapping :: Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern Overlaps :: Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern OverloadedLabel :: String -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern PApp :: QName -> [Pat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PAsPat :: Name -> Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PBangPat :: Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PFieldPat :: QName -> Pat -> PatField
+ Language.Haskell.Exts.Simple.Syntax: pattern PFieldPun :: QName -> PatField
+ Language.Haskell.Exts.Simple.Syntax: pattern PFieldWildcard :: PatField
+ Language.Haskell.Exts.Simple.Syntax: pattern PInfixApp :: Pat -> QName -> Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PIrrPat :: Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PList :: [Pat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PLit :: Sign -> Literal -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PNPlusK :: Name -> Integer -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PParen :: Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PQuasiQuote :: String -> String -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PRPat :: [RPat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PRec :: QName -> [PatField] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PSplice :: Splice -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PTuple :: Boxed -> [Pat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PUnboxedSum :: Int -> Int -> Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PVar :: Name -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PViewPat :: Exp -> Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PWildCard :: Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PXAttr :: XName -> Pat -> PXAttr
+ Language.Haskell.Exts.Simple.Syntax: pattern PXETag :: XName -> [PXAttr] -> Maybe Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PXPatTag :: Pat -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PXPcdata :: String -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PXRPats :: [RPat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PXTag :: XName -> [PXAttr] -> Maybe Pat -> [Pat] -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern ParArray :: [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ParArrayComp :: Exp -> [[QualStmt]] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ParArrayFromThenTo :: Exp -> Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ParArrayFromTo :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ParComp :: Exp -> [[QualStmt]] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Paren :: Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern ParenA :: Asst -> Asst
+ Language.Haskell.Exts.Simple.Syntax: pattern ParenFormula :: BooleanFormula -> BooleanFormula
+ Language.Haskell.Exts.Simple.Syntax: pattern ParenSplice :: Exp -> Splice
+ Language.Haskell.Exts.Simple.Syntax: pattern PatBind :: Pat -> Rhs -> Maybe Binds -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern PatBracket :: Pat -> Bracket
+ Language.Haskell.Exts.Simple.Syntax: pattern PatSyn :: Pat -> Pat -> PatternSynDirection -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern PatSynSig :: [Name] -> Maybe [TyVarBind] -> Maybe Context -> Maybe [TyVarBind] -> Maybe Context -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern PatTypeSig :: Pat -> Type -> Pat
+ Language.Haskell.Exts.Simple.Syntax: pattern PatternNamespace :: Namespace
+ Language.Haskell.Exts.Simple.Syntax: pattern Phantom :: Role
+ Language.Haskell.Exts.Simple.Syntax: pattern PlayInterruptible :: Safety
+ Language.Haskell.Exts.Simple.Syntax: pattern PlayRisky :: Safety
+ Language.Haskell.Exts.Simple.Syntax: pattern PlaySafe :: Bool -> Safety
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimChar :: Char -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimDouble :: Rational -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimFloat :: Rational -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimInt :: Integer -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimString :: String -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern PrimWord :: Integer -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern Proc :: Pat -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedCon :: Bool -> QName -> Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedInteger :: Integer -> String -> Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedList :: Bool -> [Type] -> Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedName :: QName -> MaybePromotedName
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedString :: String -> String -> Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedTuple :: [Type] -> Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern PromotedUnit :: Promoted
+ Language.Haskell.Exts.Simple.Syntax: pattern QConOp :: QName -> QOp
+ Language.Haskell.Exts.Simple.Syntax: pattern QVarOp :: QName -> QOp
+ Language.Haskell.Exts.Simple.Syntax: pattern Qual :: ModuleName -> Name -> QName
+ Language.Haskell.Exts.Simple.Syntax: pattern QualConDecl :: Maybe [TyVarBind] -> Maybe Context -> ConDecl -> QualConDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern QualStmt :: Stmt -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern Qualifier :: Exp -> Stmt
+ Language.Haskell.Exts.Simple.Syntax: pattern QuasiQuote :: String -> String -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPAs :: Name -> RPat -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPCAs :: Name -> RPat -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPEither :: RPat -> RPat -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPGuard :: Pat -> [Stmt] -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPOp :: RPat -> RPatOp -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPOpt :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPOptG :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPParen :: RPat -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPPat :: Pat -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPPlus :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPPlusG :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPSeq :: [RPat] -> RPat
+ Language.Haskell.Exts.Simple.Syntax: pattern RPStar :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RPStarG :: RPatOp
+ Language.Haskell.Exts.Simple.Syntax: pattern RecConstr :: QName -> [FieldUpdate] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern RecDecl :: Name -> [FieldDecl] -> ConDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern RecStmt :: [Stmt] -> Stmt
+ Language.Haskell.Exts.Simple.Syntax: pattern RecUpdate :: Exp -> [FieldUpdate] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Representational :: Role
+ Language.Haskell.Exts.Simple.Syntax: pattern RightArrApp :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern RightArrHighApp :: Exp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern RightSection :: QOp -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern RoleAnnotDecl :: QName -> [Role] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern RoleWildcard :: Role
+ Language.Haskell.Exts.Simple.Syntax: pattern Rule :: String -> Maybe Activation -> Maybe [RuleVar] -> Exp -> Exp -> Rule
+ Language.Haskell.Exts.Simple.Syntax: pattern RulePragmaDecl :: [Rule] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern RuleVar :: Name -> RuleVar
+ Language.Haskell.Exts.Simple.Syntax: pattern SCCPragma :: String -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Signless :: Sign
+ Language.Haskell.Exts.Simple.Syntax: pattern SpecInlineSig :: Bool -> Maybe Activation -> QName -> [Type] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern SpecSig :: Maybe Activation -> QName -> [Type] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern Special :: SpecialCon -> QName
+ Language.Haskell.Exts.Simple.Syntax: pattern SpliceDecl :: Exp -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern SpliceExp :: Splice -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern StdCall :: CallConv
+ Language.Haskell.Exts.Simple.Syntax: pattern Symbol :: String -> Name
+ Language.Haskell.Exts.Simple.Syntax: pattern TExpBracket :: Exp -> Bracket
+ Language.Haskell.Exts.Simple.Syntax: pattern TIdSplice :: String -> Splice
+ Language.Haskell.Exts.Simple.Syntax: pattern TParenSplice :: Exp -> Splice
+ Language.Haskell.Exts.Simple.Syntax: pattern TSpliceDecl :: Exp -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern ThenBy :: Exp -> Exp -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern ThenTrans :: Exp -> QualStmt
+ Language.Haskell.Exts.Simple.Syntax: pattern Tuple :: Boxed -> [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern TupleCon :: Boxed -> Int -> SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern TupleSection :: Boxed -> [Maybe Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern TyApp :: Type -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyBang :: BangType -> Unpackedness -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyCon :: QName -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyEquals :: Type -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyForall :: Maybe [TyVarBind] -> Maybe Context -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyFun :: Type -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyInfix :: Type -> MaybePromotedName -> Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyKind :: Type -> Kind -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyList :: Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyParArray :: Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyParen :: Type -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyPromoted :: Promoted -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyQuasiQuote :: String -> String -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TySplice :: Splice -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyStar :: Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyTuple :: Boxed -> [Type] -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyUnboxedSum :: [Type] -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyVar :: Name -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TyVarSig :: TyVarBind -> ResultSig
+ Language.Haskell.Exts.Simple.Syntax: pattern TyWildCard :: Maybe Name -> Type
+ Language.Haskell.Exts.Simple.Syntax: pattern TypQuote :: QName -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeA :: Type -> Asst
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeAnn :: Name -> Exp -> Annotation
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeApp :: Type -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeBracket :: Type -> Bracket
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeDecl :: DeclHead -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeFamDecl :: DeclHead -> Maybe ResultSig -> Maybe InjectivityInfo -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeInsDecl :: Type -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeNamespace :: Namespace
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeSig :: [Name] -> Type -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern TypedRuleVar :: Name -> Type -> RuleVar
+ Language.Haskell.Exts.Simple.Syntax: pattern UnGuardedRhs :: Exp -> Rhs
+ Language.Haskell.Exts.Simple.Syntax: pattern UnQual :: Name -> QName
+ Language.Haskell.Exts.Simple.Syntax: pattern UnboxedSingleCon :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern UnboxedSum :: Int -> Int -> Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern Unidirectional :: PatternSynDirection
+ Language.Haskell.Exts.Simple.Syntax: pattern UnitCon :: SpecialCon
+ Language.Haskell.Exts.Simple.Syntax: pattern UnkindedVar :: Name -> TyVarBind
+ Language.Haskell.Exts.Simple.Syntax: pattern Unpack :: Unpackedness
+ Language.Haskell.Exts.Simple.Syntax: pattern UnpromotedName :: QName -> MaybePromotedName
+ Language.Haskell.Exts.Simple.Syntax: pattern Var :: QName -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern VarFormula :: Name -> BooleanFormula
+ Language.Haskell.Exts.Simple.Syntax: pattern VarName :: Name -> CName
+ Language.Haskell.Exts.Simple.Syntax: pattern VarOp :: Name -> Op
+ Language.Haskell.Exts.Simple.Syntax: pattern VarQuote :: QName -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern WarnPragmaDecl :: [([Name], String)] -> Decl
+ Language.Haskell.Exts.Simple.Syntax: pattern WarnText :: String -> WarningText
+ Language.Haskell.Exts.Simple.Syntax: pattern XAttr :: XName -> Exp -> XAttr
+ Language.Haskell.Exts.Simple.Syntax: pattern XChildTag :: [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XDomName :: String -> String -> XName
+ Language.Haskell.Exts.Simple.Syntax: pattern XETag :: XName -> [XAttr] -> Maybe Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XExpTag :: Exp -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XPcdata :: String -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XTag :: XName -> [XAttr] -> Maybe Exp -> [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XmlHybrid :: Maybe ModuleHead -> [ModulePragma] -> [ImportDecl] -> [Decl] -> XName -> [XAttr] -> Maybe Exp -> [Exp] -> Module
+ Language.Haskell.Exts.Simple.Syntax: pattern XmlPage :: ModuleName -> [ModulePragma] -> XName -> [XAttr] -> Maybe Exp -> [Exp] -> Module
- Language.Haskell.Exts.Simple.Fixity: class AppFixity (ast :: Type -> Type)
+ Language.Haskell.Exts.Simple.Fixity: class () => AppFixity (ast :: Type -> Type)
- Language.Haskell.Exts.Simple.Fixity: data Fixity
+ Language.Haskell.Exts.Simple.Fixity: data () => Fixity
- Language.Haskell.Exts.Simple.Parser: class Parseable ast
+ Language.Haskell.Exts.Simple.Parser: class () => Parseable ast
- Language.Haskell.Exts.Simple.Parser: data ParseMode
+ Language.Haskell.Exts.Simple.Parser: data () => ParseMode
- Language.Haskell.Exts.Simple.Parser: data ParseResult a
+ Language.Haskell.Exts.Simple.Parser: data () => ParseResult a
- Language.Haskell.Exts.Simple.Parser: fromParseResult :: () => ParseResult a -> a
+ Language.Haskell.Exts.Simple.Parser: fromParseResult :: ParseResult a -> a
- Language.Haskell.Exts.Simple.Parser: newtype NonGreedy a
+ Language.Haskell.Exts.Simple.Parser: newtype () => NonGreedy a
- Language.Haskell.Exts.Simple.Parser: unListOf :: () => ListOf a -> [a]
+ Language.Haskell.Exts.Simple.Parser: unListOf :: ListOf a -> [a]
- Language.Haskell.Exts.Simple.Syntax: data Boxed
+ Language.Haskell.Exts.Simple.Syntax: data () => Boxed
- Language.Haskell.Exts.Simple.Syntax: data Tool
+ Language.Haskell.Exts.Simple.Syntax: data () => Tool
- Language.Haskell.Exts.Simple.Syntax: pattern Char :: () => () => Char -> Literal
+ Language.Haskell.Exts.Simple.Syntax: pattern Char :: Char -> Literal
- Language.Haskell.Exts.Simple.Syntax: pattern EThingWith :: () => () => EWildcard -> QName -> [CName] -> ExportSpec
+ Language.Haskell.Exts.Simple.Syntax: pattern EWildcard :: Int -> EWildcard
- Language.Haskell.Exts.Simple.Syntax: pattern FieldWildcard :: () => () => FieldUpdate
+ Language.Haskell.Exts.Simple.Syntax: pattern FieldUpdate :: QName -> Exp -> FieldUpdate
- Language.Haskell.Exts.Simple.Syntax: pattern EWildcard :: () => () => Int -> EWildcard
+ Language.Haskell.Exts.Simple.Syntax: pattern Int :: Integer -> Literal
- Language.Haskell.Exts.Simple.Syntax: pattern Qual :: () => () => ModuleName -> Name -> QName
+ Language.Haskell.Exts.Simple.Syntax: pattern ModuleName :: String -> ModuleName
- Language.Haskell.Exts.Simple.Syntax: pattern NoOverlap :: () => () => Overlap
+ Language.Haskell.Exts.Simple.Syntax: pattern Overlap :: Overlap
- Language.Haskell.Exts.Simple.Syntax: pattern ModuleName :: () => () => String -> ModuleName
+ Language.Haskell.Exts.Simple.Syntax: pattern String :: String -> Literal
- Language.Haskell.Exts.Simple.Syntax: pattern ClsTyDef :: () => () => TypeEqn -> ClassDecl
+ Language.Haskell.Exts.Simple.Syntax: pattern TypeEqn :: Type -> Type -> TypeEqn
- Language.Haskell.Exts.Simple.Syntax: pattern XTag :: () => () => XName -> [XAttr] -> Maybe Exp -> [Exp] -> Exp
+ Language.Haskell.Exts.Simple.Syntax: pattern XName :: String -> XName
Files
- CHANGELOG.md +4/−0
- haskell-src-exts-simple.cabal +2/−2
- src/Language/Haskell/Exts/Simple.hs +4/−0
- src/Language/Haskell/Exts/Simple/Parser.hs +19/−0
- src/Language/Haskell/Exts/Simple/Syntax.hs +323/−0
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for haskell-src-exts-simple +## 1.23.1.0 - 2024-12-27++* add COMPLETE pragmas (courtesy of @ratherforky)+ ## 1.23.0.0 — 2020-03-13 * support haskell-src-exts 1.23.0
haskell-src-exts-simple.cabal view
@@ -1,5 +1,5 @@ name: haskell-src-exts-simple-version: 1.23.0.0+version: 1.23.1.0 synopsis: A simplified view on the haskell-src-exts AST description: This package provides a shim for haskell-src-exts (HSE), exposing the@@ -10,7 +10,7 @@ license-file: LICENSE author: Bertram Felgenhauer maintainer: Bertram Felgenhauer <int-e@gmx.de>-copyright: 2016-2020, Bertram Felgenhauer+copyright: 2016-2024, Bertram Felgenhauer category: Development build-type: Simple extra-source-files:
src/Language/Haskell/Exts/Simple.hs view
@@ -51,3 +51,7 @@ parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module parseFileContentsWithMode m = fmap (fmap (const ())) . H.parseFileContentsWithMode m++-- omitted: parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment]))+-- omitted: parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment], [UnknownPragma]))+-- omitted: parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment])
src/Language/Haskell/Exts/Simple/Parser.hs view
@@ -34,18 +34,34 @@ listOf :: [a] -> ListOf a listOf a = H.ListOf H.noSrcSpan a +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ListOf #-}+#endif+ -- ** `H.PragmasAndModuleName` type PragmasAndModuleName = H.PragmasAndModuleName () pattern PragmasAndModuleName a b = H.PragmasAndModuleName () (a :: [ModulePragma]) (b :: Maybe ModuleName) :: PragmasAndModuleName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PragmasAndModuleName #-}+#endif+ -- ** `H.PragmasAndModuleHead` type PragmasAndModuleHead = H.PragmasAndModuleHead () pattern PragmasAndModuleHead a b = H.PragmasAndModuleHead () (a :: [ModulePragma]) (b :: Maybe ModuleHead) +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PragmasAndModuleHead #-}+#endif+ -- ** `H.ModuleHeadAndImports` type ModuleHeadAndImports = H.ModuleHeadAndImports () pattern ModuleHeadAndImports a b c = H.ModuleHeadAndImports () (a :: [ModulePragma]) (b :: Maybe ModuleHead) (c :: [ImportDecl]) +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ModuleHeadAndImports #-}+#endif+ -- * Functions parse :: (Parseable (ast H.SrcSpanInfo), Functor ast) => String -> ParseResult (ast ())@@ -53,6 +69,9 @@ parseWithMode :: (Parseable (ast H.SrcSpanInfo), Functor ast) => ParseMode -> String -> ParseResult (ast ()) parseWithMode m = fmap (fmap (const () :: H.SrcSpanInfo -> ())) . H.parseWithMode m++parseWithComments :: (Parseable (ast H.SrcSpanInfo), Functor ast) => ParseMode -> String -> ParseResult (ast (), [Comment])+parseWithComments m = fmap (first (fmap (const () :: H.SrcSpanInfo -> ()))) . H.parseWithComments m parseModule :: String -> ParseResult Module parseModule = fmap (fmap (const ())) . H.parseModule
src/Language/Haskell/Exts/Simple/Syntax.hs view
@@ -30,6 +30,10 @@ type ModuleName = H.ModuleName () pattern ModuleName a = H.ModuleName () (a :: String) :: ModuleName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ModuleName #-}+#endif+ -- ** `H.SpecialCon` type SpecialCon = H.SpecialCon () pattern UnitCon = H.UnitCon () :: SpecialCon@@ -40,51 +44,91 @@ pattern UnboxedSingleCon = H.UnboxedSingleCon () :: SpecialCon pattern ExprHole = H.ExprHole () :: SpecialCon +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE UnitCon, ListCon, FunCon, TupleCon, Cons, UnboxedSingleCon, ExprHole #-}+#endif+ -- ** `H.QName` type QName = H.QName () pattern Qual a b = H.Qual () (a :: ModuleName) (b :: Name) :: QName pattern UnQual a = H.UnQual () (a :: Name) :: QName pattern Special a = H.Special () (a :: SpecialCon) :: QName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Qual, UnQual, Special #-}+#endif+ -- ** `H.Name` type Name = H.Name () pattern Ident a = H.Ident () (a :: String) :: Name pattern Symbol a = H.Symbol () (a :: String) :: Name +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Ident, Symbol #-}+#endif+ -- ** `H.IPName` type IPName = H.IPName () pattern IPDup a = H.IPDup () (a :: String) :: IPName pattern IPLin a = H.IPLin () (a :: String) :: IPName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IPDup, IPLin #-}+#endif+ -- ** `H.QOp` type QOp = H.QOp () pattern QVarOp a = H.QVarOp () (a :: QName) :: QOp pattern QConOp a = H.QConOp () (a :: QName) :: QOp +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE QVarOp, QConOp #-}+#endif+ -- ** `H.Op` type Op = H.Op () pattern VarOp a = H.VarOp () (a :: Name) :: Op pattern ConOp a = H.ConOp () (a :: Name) :: Op +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE VarOp, ConOp #-}+#endif+ -- ** `H.CName` type CName = H.CName () pattern VarName a = H.VarName () (a :: Name) :: CName pattern ConName a = H.ConName () (a :: Name) :: CName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE VarName, ConName #-}+#endif+ -- ** `H.Module` type Module = H.Module () pattern Module a b c d = H.Module () (a :: (Maybe ModuleHead)) (b :: [ModulePragma]) (c :: [ImportDecl]) (d :: [Decl]) :: Module pattern XmlPage a b c d e f = H.XmlPage () (a :: ModuleName) (b :: [ModulePragma]) (c :: XName) (d :: [XAttr]) (e :: (Maybe Exp)) (f :: [Exp]) :: Module pattern XmlHybrid a b c d e f g h = H.XmlHybrid () (a :: (Maybe ModuleHead)) (b :: [ModulePragma]) (c :: [ImportDecl]) (d :: [Decl]) (e :: XName) (f :: [XAttr]) (g :: (Maybe Exp)) (h :: [Exp]) :: Module +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Module, XmlPage, XmlHybrid #-}+#endif+ -- ** `H.ModuleHead` type ModuleHead = H.ModuleHead () pattern ModuleHead a b c = H.ModuleHead () (a :: ModuleName) (b :: (Maybe WarningText)) (c :: (Maybe ExportSpecList)) :: ModuleHead +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ModuleHead #-}+#endif+ -- ** `H.ExportSpecList` type ExportSpecList = H.ExportSpecList () pattern ExportSpecList a = H.ExportSpecList () (a :: [ExportSpec]) :: ExportSpecList +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ExportSpecList #-}+#endif+ -- ** `H.ExportSpec` type ExportSpec = H.ExportSpec () pattern EVar a = H.EVar () (a :: QName) :: ExportSpec@@ -92,26 +136,46 @@ pattern EThingWith a b c = H.EThingWith () (a :: EWildcard) (b :: QName) (c :: [CName]) :: ExportSpec pattern EModuleContents a = H.EModuleContents () (a :: ModuleName) :: ExportSpec +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE EVar, EAbs, EThingWith, EModuleContents #-}+#endif+ -- ** `H.EWildcard` type EWildcard = H.EWildcard () pattern NoWildcard = H.NoWildcard () :: EWildcard pattern EWildcard a = H.EWildcard () (a :: Int) :: EWildcard +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE NoWildcard, EWildcard #-}+#endif+ -- ** `H.Namespace` type Namespace = H.Namespace () pattern NoNamespace = H.NoNamespace () :: Namespace pattern TypeNamespace = H.TypeNamespace () :: Namespace pattern PatternNamespace = H.PatternNamespace () :: Namespace +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE NoNamespace, TypeNamespace, PatternNamespace #-}+#endif+ -- ** `H.ImportDecl` type ImportDecl = H.ImportDecl () pattern ImportDecl { importModule, importQualified, importSrc, importSafe, importPkg, importAs, importSpecs } = H.ImportDecl () importModule importQualified importSrc importSafe importPkg importAs importSpecs :: ImportDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ImportDecl #-}+#endif+ -- ** `H.ImportSpecList` type ImportSpecList = H.ImportSpecList () pattern ImportSpecList a b = H.ImportSpecList () (a :: Bool) (b :: [ImportSpec]) :: ImportSpecList +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ImportSpecList #-}+#endif+ -- ** `H.ImportSpec` type ImportSpec = H.ImportSpec () pattern IVar a = H.IVar () (a :: Name) :: ImportSpec@@ -119,12 +183,20 @@ pattern IThingAll a = H.IThingAll () (a :: Name) :: ImportSpec pattern IThingWith a b = H.IThingWith () (a :: Name) (b :: [CName]) :: ImportSpec +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IVar, IAbs, IThingAll, IThingWith #-}+#endif+ -- ** `H.Assoc` type Assoc = H.Assoc () pattern AssocNone = H.AssocNone () :: Assoc pattern AssocLeft = H.AssocLeft () :: Assoc pattern AssocRight = H.AssocRight () :: Assoc +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE AssocNone, AssocLeft, AssocRight #-}+#endif+ -- ** `H.Decl` type Decl = H.Decl () pattern TypeDecl a b = H.TypeDecl () (a :: DeclHead) (b :: Type) :: Decl@@ -163,22 +235,44 @@ pattern RoleAnnotDecl a b = H.RoleAnnotDecl () (a :: QName) (b :: [Role]) :: Decl pattern CompletePragma a b = H.CompletePragma () (a :: [Name]) (b :: (Maybe QName)) :: Decl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE TypeDecl, TypeFamDecl, ClosedTypeFamDecl, DataDecl, GDataDecl,+ DataFamDecl, TypeInsDecl, DataInsDecl, GDataInsDecl, ClassDecl, InstDecl,+ DerivDecl, InfixDecl, DefaultDecl, SpliceDecl, TSpliceDecl, TypeSig,+ PatSynSig, FunBind, PatBind, PatSyn, ForImp, ForExp, RulePragmaDecl,+ DeprPragmaDecl, WarnPragmaDecl, InlineSig, InlineConlikeSig, SpecSig,+ SpecInlineSig, InstSig, AnnPragma, MinimalPragma, RoleAnnotDecl,+ CompletePragma #-}+#endif+ -- ** `H.PatternSynDirection` type PatternSynDirection = H.PatternSynDirection () pattern Unidirectional = H.Unidirectional :: PatternSynDirection pattern ImplicitBidirectional = H.ImplicitBidirectional :: PatternSynDirection pattern ExplicitBidirectional a = H.ExplicitBidirectional () (a :: [Decl]) :: PatternSynDirection +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Unidirectional, ImplicitBidirectional, ExplicitBidirectional #-}+#endif+ -- ** `H.TypeEqn` type TypeEqn = H.TypeEqn () pattern TypeEqn a b = H.TypeEqn () (a :: Type) (b :: Type) :: TypeEqn +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE TypeEqn #-}+#endif+ -- ** `H.Annotation` type Annotation = H.Annotation () pattern Ann a b = H.Ann () (a :: Name) (b :: Exp) :: Annotation pattern TypeAnn a b = H.TypeAnn () (a :: Name) (b :: Exp) :: Annotation pattern ModuleAnn a = H.ModuleAnn () (a :: Exp) :: Annotation +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Ann, TypeAnn, ModuleAnn #-}+#endif+ -- ** `H.BooleanFormula` type BooleanFormula = H.BooleanFormula () pattern VarFormula a = H.VarFormula () (a :: Name) :: BooleanFormula@@ -186,6 +280,10 @@ pattern OrFormula a = H.OrFormula () (a :: [BooleanFormula]) :: BooleanFormula pattern ParenFormula a = H.ParenFormula () (a :: BooleanFormula) :: BooleanFormula +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE VarFormula, AndFormula, OrFormula, ParenFormula #-}+#endif+ -- ** `H.Role` type Role = H.Role () pattern Nominal = H.Nominal () :: Role@@ -193,20 +291,36 @@ pattern Phantom = H.Phantom () :: Role pattern RoleWildcard = H.RoleWildcard () :: Role +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Nominal, Representational, Phantom, RoleWildcard #-}+#endif+ -- ** `H.DataOrNew` type DataOrNew = H.DataOrNew () pattern DataType = H.DataType () :: DataOrNew pattern NewType = H.NewType () :: DataOrNew +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE DataType, NewType #-}+#endif+ -- ** `H.InjectivityInfo` type InjectivityInfo = H.InjectivityInfo () pattern InjectivityInfo a b = H.InjectivityInfo () (a :: Name) (b :: [Name]) :: InjectivityInfo +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE InjectivityInfo #-}+#endif+ -- ** `H.ResultSig` type ResultSig = H.ResultSig () pattern KindSig a = H.KindSig () (a :: Kind) :: ResultSig pattern TyVarSig a = H.TyVarSig () (a :: TyVarBind) :: ResultSig +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE KindSig, TyVarSig #-}+#endif+ -- ** `H.DeclHead` type DeclHead = H.DeclHead () pattern DHead a = H.DHead () (a :: Name) :: DeclHead@@ -214,11 +328,19 @@ pattern DHParen a = H.DHParen () (a :: DeclHead) :: DeclHead pattern DHApp a b = H.DHApp () (a :: DeclHead) (b :: TyVarBind) :: DeclHead +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE DHead, DHInfix, DHParen, DHApp #-}+#endif+ -- ** `H.InstRule` type InstRule = H.InstRule () pattern IRule a b c = H.IRule () (a :: (Maybe [TyVarBind])) (b :: (Maybe Context)) (c :: InstHead) :: InstRule pattern IParen a = H.IParen () (a :: InstRule) :: InstRule +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IRule, IParen #-}+#endif+ -- ** `H.InstHead` type InstHead = H.InstHead () pattern IHCon a = H.IHCon () (a :: QName) :: InstHead@@ -226,10 +348,18 @@ pattern IHParen a = H.IHParen () (a :: InstHead) :: InstHead pattern IHApp a b = H.IHApp () (a :: InstHead) (b :: Type) :: InstHead +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IHCon, IHInfix, IHParen, IHApp #-}+#endif+ -- ** `H.Deriving` type Deriving = H.Deriving () pattern Deriving a b = H.Deriving () (a :: (Maybe DerivStrategy)) (b :: [InstRule]) :: Deriving +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Deriving #-}+#endif+ -- ** `H.DerivStrategy` type DerivStrategy = H.DerivStrategy () pattern DerivStock = H.DerivStock () :: DerivStrategy@@ -237,38 +367,70 @@ pattern DerivNewtype = H.DerivNewtype () :: DerivStrategy pattern DerivVia a = H.DerivVia () (a :: Type) :: DerivStrategy +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE DerivStock, DerivAnyclass, DerivNewtype, DerivVia #-}+#endif+ -- ** `H.Binds` type Binds = H.Binds () pattern BDecls a = H.BDecls () (a :: [Decl]) :: Binds pattern IPBinds a = H.IPBinds () (a :: [IPBind]) :: Binds +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE BDecls, IPBinds #-}+#endif+ -- ** `H.IPBind` type IPBind = H.IPBind () pattern IPBind a b = H.IPBind () (a :: IPName) (b :: Exp) :: IPBind +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IPBind #-}+#endif+ -- ** `H.Match` type Match = H.Match () pattern Match a b c d = H.Match () (a :: Name) (b :: [Pat]) (c :: Rhs) (d :: (Maybe Binds)) :: Match pattern InfixMatch a b c d e = H.InfixMatch () (a :: Pat) (b :: Name) (c :: [Pat]) (d :: Rhs) (e :: (Maybe Binds)) :: Match +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Match, InfixMatch #-}+#endif+ -- ** `H.QualConDecl` type QualConDecl = H.QualConDecl () pattern QualConDecl a b c = H.QualConDecl () (a :: (Maybe [TyVarBind])) (b :: (Maybe Context)) (c :: ConDecl) :: QualConDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE QualConDecl #-}+#endif+ -- ** `H.ConDecl` type ConDecl = H.ConDecl () pattern ConDecl a b = H.ConDecl () (a :: Name) (b :: [Type]) :: ConDecl pattern InfixConDecl a b c = H.InfixConDecl () (a :: Type) (b :: Name) (c :: Type) :: ConDecl pattern RecDecl a b = H.RecDecl () (a :: Name) (b :: [FieldDecl]) :: ConDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ConDecl, InfixConDecl, RecDecl #-}+#endif+ -- ** `H.FieldDecl` type FieldDecl = H.FieldDecl () pattern FieldDecl a b = H.FieldDecl () (a :: [Name]) (b :: Type) :: FieldDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE FieldDecl #-}+#endif+ -- ** `H.GadtDecl` type GadtDecl = H.GadtDecl () pattern GadtDecl a b c d e = H.GadtDecl () (a :: Name) (b :: (Maybe [TyVarBind])) (c :: (Maybe Context)) (d :: (Maybe [FieldDecl])) (e :: Type) :: GadtDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE GadtDecl #-}+#endif+ -- ** `H.ClassDecl` type ClassDecl = H.ClassDecl () pattern ClsDecl a = H.ClsDecl () (a :: Decl) :: ClassDecl@@ -277,6 +439,10 @@ pattern ClsTyDef a = H.ClsTyDef () (a :: TypeEqn) :: ClassDecl pattern ClsDefSig a b = H.ClsDefSig () (a :: Name) (b :: Type) :: ClassDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ClsDecl, ClsDataFam, ClsTyFam, ClsTyDef, ClsDefSig #-}+#endif+ -- ** `H.InstDecl` type InstDecl = H.InstDecl () pattern InsDecl a = H.InsDecl () (a :: Decl) :: InstDecl@@ -284,27 +450,47 @@ pattern InsData a b c d = H.InsData () (a :: DataOrNew) (b :: Type) (c :: [QualConDecl]) (d :: [Deriving]) :: InstDecl pattern InsGData a b c d e = H.InsGData () (a :: DataOrNew) (b :: Type) (c :: (Maybe Kind)) (d :: [GadtDecl]) (e :: [Deriving]) :: InstDecl +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE InsDecl, InsType, InsData, InsGData #-}+#endif+ -- ** `H.BangType` type BangType = H.BangType () pattern BangedTy = H.BangedTy () :: BangType pattern LazyTy = H.LazyTy () :: BangType pattern NoStrictAnnot = H.NoStrictAnnot () :: BangType +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE BangedTy, LazyTy, NoStrictAnnot #-}+#endif+ -- ** `H.Unpackedness` type Unpackedness = H.Unpackedness () pattern Unpack = H.Unpack () :: Unpackedness pattern NoUnpack = H.NoUnpack () :: Unpackedness pattern NoUnpackPragma = H.NoUnpackPragma () :: Unpackedness +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Unpack, NoUnpack, NoUnpackPragma #-}+#endif+ -- ** `H.Rhs` type Rhs = H.Rhs () pattern UnGuardedRhs a = H.UnGuardedRhs () (a :: Exp) :: Rhs pattern GuardedRhss a = H.GuardedRhss () (a :: [GuardedRhs]) :: Rhs +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE UnGuardedRhs, GuardedRhss #-}+#endif+ -- ** `H.GuardedRhs` type GuardedRhs = H.GuardedRhs () pattern GuardedRhs a b = H.GuardedRhs () (a :: [Stmt]) (b :: Exp) :: GuardedRhs +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE GuardedRhs #-}+#endif+ -- ** `H.Type` type Type = H.Type () pattern TyForall a b c = H.TyForall () (a :: (Maybe [TyVarBind])) (b :: (Maybe Context)) (c :: Type) :: Type@@ -327,11 +513,21 @@ pattern TyWildCard a = H.TyWildCard () (a :: (Maybe Name)) :: Type pattern TyQuasiQuote a b = H.TyQuasiQuote () (a :: String) (b :: String) :: Type +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE TyForall, TyStar, TyFun, TyTuple, TyUnboxedSum, TyList, TyParArray, TyApp,+ TyVar, TyCon, TyParen, TyInfix, TyKind, TyPromoted, TyEquals, TySplice,+ TyBang, TyWildCard, TyQuasiQuote #-}+#endif+ -- ** `H.MaybePromotedName` type MaybePromotedName = H.MaybePromotedName () pattern PromotedName a = H.PromotedName () (a :: QName) :: MaybePromotedName pattern UnpromotedName a = H.UnpromotedName () (a :: QName) :: MaybePromotedName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PromotedName, UnpromotedName #-}+#endif+ -- ** `H.Promoted` type Promoted = H.Promoted () pattern PromotedInteger a b = H.PromotedInteger () (a :: Integer) (b :: String) :: Promoted@@ -341,6 +537,11 @@ pattern PromotedTuple a = H.PromotedTuple () (a :: [Type]) :: Promoted pattern PromotedUnit = H.PromotedUnit () :: Promoted +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PromotedInteger, PromotedString, PromotedCon, PromotedList, PromotedTuple,+ PromotedUnit #-}+#endif+ -- skipped: data Boxed -- ** `H.TyVarBind`@@ -348,6 +549,10 @@ pattern KindedVar a b = H.KindedVar () (a :: Name) (b :: Kind) :: TyVarBind pattern UnkindedVar a = H.UnkindedVar () (a :: Name) :: TyVarBind +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE KindedVar, UnkindedVar #-}+#endif+ -- ** `H.Kind` -- | Note that `Kind` is an alias for `Type` since haskell-src-exts-1.21.@@ -357,18 +562,30 @@ type FunDep = H.FunDep () pattern FunDep a b = H.FunDep () (a :: [Name]) (b :: [Name]) :: FunDep +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE FunDep #-}+#endif+ -- ** `H.Context` type Context = H.Context () pattern CxSingle a = H.CxSingle () (a :: Asst) :: Context pattern CxTuple a = H.CxTuple () (a :: [Asst]) :: Context pattern CxEmpty = H.CxEmpty () :: Context +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE CxSingle, CxTuple, CxEmpty #-}+#endif+ -- ** `H.Asst` type Asst = H.Asst () pattern TypeA a = H.TypeA () (a :: Type) :: Asst pattern IParam a b = H.IParam () (a :: IPName) (b :: Type) :: Asst pattern ParenA a = H.ParenA () (a :: Asst) :: Asst +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE TypeA, IParam, ParenA #-}+#endif+ -- ** `H.Literal` type Literal = H.Literal () @@ -424,11 +641,20 @@ #undef where +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Char, String, Int, Frac, PrimInt, PrimWord, PrimFloat, PrimDouble,+ PrimChar, PrimString #-}+#endif+ -- ** `H.Sign` type Sign = H.Sign () pattern Signless = H.Signless () :: Sign pattern Negative = H.Negative () :: Sign +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Signless, Negative #-}+#endif+ -- ** `H.Exp` type Exp = H.Exp () pattern Var a = H.Var () (a :: QName) :: Exp@@ -488,15 +714,34 @@ pattern ArrOp a = H.ArrOp () (a :: Exp) :: Exp pattern LCase a = H.LCase () (a :: [Alt]) :: Exp +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Var, OverloadedLabel, IPVar, Con, Lit, InfixApp, App, NegApp, Lambda, Let,+ If, MultiIf, Case, Do, MDo, Tuple, UnboxedSum, TupleSection, List,+ ParArray, Paren, LeftSection, RightSection, RecConstr, RecUpdate,+ EnumFrom, EnumFromTo, EnumFromThen, EnumFromThenTo, ParArrayFromTo,+ ParArrayFromThenTo, ListComp, ParComp, ParArrayComp, ExpTypeSig, VarQuote,+ TypQuote, BracketExp, SpliceExp, QuasiQuote, TypeApp, XTag, XETag,+ XPcdata, XExpTag, XChildTag, CorePragma, SCCPragma, GenPragma, Proc,+ LeftArrApp, RightArrApp, LeftArrHighApp, RightArrHighApp, ArrOp, LCase #-}+#endif+ -- ** `H.XName` type XName = H.XName () pattern XName a = H.XName () (a :: String) :: XName pattern XDomName a b = H.XDomName () (a :: String) (b :: String) :: XName +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE XName, XDomName #-}+#endif+ -- ** `H.XAttr` type XAttr = H.XAttr () pattern XAttr a b = H.XAttr () (a :: XName) (b :: Exp) :: XAttr +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE XAttr #-}+#endif+ -- ** `H.Bracket` type Bracket = H.Bracket () pattern ExpBracket a = H.ExpBracket () (a :: Exp) :: Bracket@@ -505,6 +750,10 @@ pattern TypeBracket a = H.TypeBracket () (a :: Type) :: Bracket pattern DeclBracket a = H.DeclBracket () (a :: [Decl]) :: Bracket +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ExpBracket, TExpBracket, PatBracket, TypeBracket, DeclBracket #-}+#endif+ -- ** `H.Splice` type Splice = H.Splice () pattern IdSplice a = H.IdSplice () (a :: String) :: Splice@@ -512,12 +761,20 @@ pattern ParenSplice a = H.ParenSplice () (a :: Exp) :: Splice pattern TParenSplice a = H.TParenSplice () (a :: Exp) :: Splice +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE IdSplice, TIdSplice, ParenSplice, TParenSplice #-}+#endif+ -- ** `H.Safety` type Safety = H.Safety () pattern PlayRisky = H.PlayRisky () :: Safety pattern PlaySafe a = H.PlaySafe () (a :: Bool) :: Safety pattern PlayInterruptible = H.PlayInterruptible () :: Safety +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PlayRisky, PlaySafe, PlayInterruptible #-}+#endif+ -- ** `H.CallConv` type CallConv = H.CallConv () pattern StdCall = H.StdCall () :: CallConv@@ -529,12 +786,20 @@ pattern JavaScript = H.JavaScript () :: CallConv pattern CApi = H.CApi () :: CallConv +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE StdCall, CCall, CPlusPlus, DotNet, Jvm, Js, JavaScript, CApi #-}+#endif+ -- ** `H.ModulePragma` type ModulePragma = H.ModulePragma () pattern LanguagePragma a = H.LanguagePragma () (a :: [Name]) :: ModulePragma pattern OptionsPragma a b = H.OptionsPragma () (a :: (Maybe Tool)) (b :: String) :: ModulePragma pattern AnnModulePragma a = H.AnnModulePragma () (a :: Annotation) :: ModulePragma +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE LanguagePragma, OptionsPragma, AnnModulePragma #-}+#endif+ -- skipped: data Tool -- ** `H.Overlap`@@ -546,25 +811,45 @@ pattern Overlappable = H.Overlappable () :: Overlap pattern Incoherent = H.Incoherent () :: Overlap +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE NoOverlap, Overlap, Overlapping, Overlaps, Overlappable, Incoherent #-}+#endif+ -- ** `H.Activation` type Activation = H.Activation () pattern ActiveFrom a = H.ActiveFrom () (a :: Int) :: Activation pattern ActiveUntil a = H.ActiveUntil () (a :: Int) :: Activation +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE ActiveFrom, ActiveUntil #-}+#endif+ -- ** `H.Rule` type Rule = H.Rule () pattern Rule a b c d e = H.Rule () (a :: String) (b :: (Maybe Activation)) (c :: (Maybe [RuleVar])) (d :: Exp) (e :: Exp) :: Rule +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Rule #-}+#endif+ -- ** `H.RuleVar` type RuleVar = H.RuleVar () pattern RuleVar a = H.RuleVar () (a :: Name) :: RuleVar pattern TypedRuleVar a b = H.TypedRuleVar () (a :: Name) (b :: Type) :: RuleVar +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE RuleVar, TypedRuleVar #-}+#endif+ -- ** `H.WarningText` type WarningText = H.WarningText () pattern DeprText a = H.DeprText () (a :: String) :: WarningText pattern WarnText a = H.WarnText () (a :: String) :: WarningText +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE DeprText, WarnText #-}+#endif+ -- ** `H.Pat` type Pat = H.Pat () pattern PVar a = H.PVar () (a :: Name) :: Pat@@ -592,10 +877,20 @@ pattern PQuasiQuote a b = H.PQuasiQuote () (a :: String) (b :: String) :: Pat pattern PBangPat a = H.PBangPat () (a :: Pat) :: Pat +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PVar, PLit, PNPlusK, PInfixApp, PApp, PTuple, PUnboxedSum, PList, PParen,+ PRec, PAsPat, PWildCard, PIrrPat, PatTypeSig, PViewPat, PRPat, PXTag,+ PXETag, PXPcdata, PXPatTag, PXRPats, PSplice, PQuasiQuote, PBangPat #-}+#endif+ -- ** `H.PXAttr` type PXAttr = H.PXAttr () pattern PXAttr a b = H.PXAttr () (a :: XName) (b :: Pat) :: PXAttr +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PXAttr #-}+#endif+ -- ** `H.RPatOp` type RPatOp = H.RPatOp () pattern RPStar = H.RPStar () :: RPatOp@@ -605,6 +900,10 @@ pattern RPOpt = H.RPOpt () :: RPatOp pattern RPOptG = H.RPOptG () :: RPatOp +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE RPStar, RPStarG, RPPlus, RPPlusG, RPOpt, RPOptG #-}+#endif+ -- ** `H.RPat` type RPat = H.RPat () pattern RPOp a b = H.RPOp () (a :: RPat) (b :: RPatOp) :: RPat@@ -616,12 +915,20 @@ pattern RPParen a = H.RPParen () (a :: RPat) :: RPat pattern RPPat a = H.RPPat () (a :: Pat) :: RPat +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE RPOp, RPEither, RPSeq, RPGuard, RPCAs, RPAs, RPParen, RPPat #-}+#endif+ -- ** `H.PatField` type PatField = H.PatField () pattern PFieldPat a b = H.PFieldPat () (a :: QName) (b :: Pat) :: PatField pattern PFieldPun a = H.PFieldPun () (a :: QName) :: PatField pattern PFieldWildcard = H.PFieldWildcard () :: PatField +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE PFieldPat, PFieldPun, PFieldWildcard #-}+#endif+ -- ** `H.Stmt` type Stmt = H.Stmt () pattern Generator a b = H.Generator () (a :: Pat) (b :: Exp) :: Stmt@@ -629,6 +936,10 @@ pattern LetStmt a = H.LetStmt () (a :: Binds) :: Stmt pattern RecStmt a = H.RecStmt () (a :: [Stmt]) :: Stmt +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Generator, Qualifier, LetStmt, RecStmt #-}+#endif+ -- ** `H.QualStmt` type QualStmt = H.QualStmt () pattern QualStmt a = H.QualStmt () (a :: Stmt) :: QualStmt@@ -638,15 +949,27 @@ pattern GroupUsing a = H.GroupUsing () (a :: Exp) :: QualStmt pattern GroupByUsing a b = H.GroupByUsing () (a :: Exp) (b :: Exp) :: QualStmt +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE QualStmt, ThenTrans, ThenBy, GroupBy, GroupUsing, GroupByUsing #-}+#endif+ -- ** `H.FieldUpdate` type FieldUpdate = H.FieldUpdate () pattern FieldUpdate a b = H.FieldUpdate () (a :: QName) (b :: Exp) :: FieldUpdate pattern FieldPun a = H.FieldPun () (a :: QName) :: FieldUpdate pattern FieldWildcard = H.FieldWildcard () :: FieldUpdate +#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE FieldUpdate, FieldPun, FieldWildcard #-}+#endif+ -- ** `H.Alt` type Alt = H.Alt () pattern Alt a b c = H.Alt () (a :: Pat) (b :: Rhs) (c :: (Maybe Binds)) :: Alt++#if MIN_VERSION_GLASGOW_HASKELL(8,2,1,0)+{-# COMPLETE Alt #-}+#endif -- * Functions