Copyright | (c) Niklas Broberg 2004-2009 (c) The GHC Team 1997-2000 |
---|---|
License | BSD-style (see the file LICENSE.txt) |
Maintainer | Niklas Broberg, d00nibro@chalmers.se |
Stability | stable |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98 http://www.haskell.org/onlinereport/ plus registered extensions, including:
- multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)
- parameters of type class assertions are unrestricted (FlexibleContexts)
forall
types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)- pattern guards (PatternGuards)
- implicit parameters (ImplicitParameters)
- generalised algebraic data types (GADTs)
- template haskell (TemplateHaskell)
- empty data type declarations (EmptyDataDecls)
- unboxed tuples (UnboxedTuples)
- regular patterns (RegularPatterns)
- HSP-style XML expressions and patterns (XmlSyntax)
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.
Synopsis
- data Module l
- = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]
- | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
- | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
- data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))
- data WarningText l
- data ExportSpecList l = ExportSpecList l [ExportSpec l]
- data ExportSpec l
- = EVar l (QName l)
- | EAbs l (Namespace l) (QName l)
- | EThingWith l (EWildcard l) (QName l) [CName l]
- | EModuleContents l (ModuleName l)
- data EWildcard l
- = NoWildcard l
- | EWildcard l Int
- data ImportDecl l = ImportDecl {
- importAnn :: l
- importModule :: ModuleName l
- importQualified :: Bool
- importSrc :: Bool
- importSafe :: Bool
- importPkg :: Maybe String
- importAs :: Maybe (ModuleName l)
- importSpecs :: Maybe (ImportSpecList l)
- data ImportSpecList l = ImportSpecList l Bool [ImportSpec l]
- data ImportSpec l
- data Assoc l
- = AssocNone l
- | AssocLeft l
- | AssocRight l
- data Namespace l
- = NoNamespace l
- | TypeNamespace l
- | PatternNamespace l
- data Decl l
- = TypeDecl l (DeclHead l) (Type l)
- | TypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))
- | ClosedTypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l]
- | DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] [Deriving l]
- | GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]
- | DataFamDecl l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))
- | TypeInsDecl l (Type l) (Type l)
- | DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]
- | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]
- | ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])
- | InstDecl l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])
- | DerivDecl l (Maybe (DerivStrategy l)) (Maybe (Overlap l)) (InstRule l)
- | InfixDecl l (Assoc l) (Maybe Int) [Op l]
- | DefaultDecl l [Type l]
- | SpliceDecl l (Exp l)
- | TSpliceDecl l (Exp l)
- | TypeSig l [Name l] (Type l)
- | PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe [TyVarBind l]) (Maybe (Context l)) (Type l)
- | FunBind l [Match l]
- | PatBind l (Pat l) (Rhs l) (Maybe (Binds l))
- | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)
- | ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)
- | ForExp l (CallConv l) (Maybe String) (Name l) (Type l)
- | RulePragmaDecl l [Rule l]
- | DeprPragmaDecl l [([Name l], String)]
- | WarnPragmaDecl l [([Name l], String)]
- | InlineSig l Bool (Maybe (Activation l)) (QName l)
- | InlineConlikeSig l (Maybe (Activation l)) (QName l)
- | SpecSig l (Maybe (Activation l)) (QName l) [Type l]
- | SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l]
- | InstSig l (InstRule l)
- | AnnPragma l (Annotation l)
- | MinimalPragma l (Maybe (BooleanFormula l))
- | RoleAnnotDecl l (QName l) [Role l]
- | CompletePragma l [Name l] (Maybe (QName l))
- data DeclHead l
- data InstRule l
- data InstHead l
- data Binds l
- data IPBind l = IPBind l (IPName l) (Exp l)
- data PatternSynDirection l
- data InjectivityInfo l = InjectivityInfo l (Name l) [Name l]
- data ResultSig l
- data ClassDecl l
- data InstDecl l
- data Deriving l = Deriving l (Maybe (DerivStrategy l)) [InstRule l]
- data DerivStrategy l
- = DerivStock l
- | DerivAnyclass l
- | DerivNewtype l
- | DerivVia l (Type l)
- data DataOrNew l
- data ConDecl l
- data FieldDecl l = FieldDecl l [Name l] (Type l)
- data QualConDecl l = QualConDecl l (Maybe [TyVarBind l]) (Maybe (Context l)) (ConDecl l)
- data GadtDecl l = GadtDecl l (Name l) (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe [FieldDecl l]) (Type l)
- data BangType l
- = BangedTy l
- | LazyTy l
- | NoStrictAnnot l
- data Unpackedness l
- = Unpack l
- | NoUnpack l
- | NoUnpackPragma l
- data Match l
- data Rhs l
- = UnGuardedRhs l (Exp l)
- | GuardedRhss l [GuardedRhs l]
- data GuardedRhs l = GuardedRhs l [Stmt l] (Exp l)
- data Context l
- data FunDep l = FunDep l [Name l] [Name l]
- data Asst l
- data Type l
- = TyForall l (Maybe [TyVarBind l]) (Maybe (Context l)) (Type l)
- | TyStar l
- | TyFun l (Type l) (Type l)
- | TyTuple l Boxed [Type l]
- | TyUnboxedSum l [Type l]
- | TyList l (Type l)
- | TyParArray l (Type l)
- | TyApp l (Type l) (Type l)
- | TyVar l (Name l)
- | TyCon l (QName l)
- | TyParen l (Type l)
- | TyInfix l (Type l) (MaybePromotedName l) (Type l)
- | TyKind l (Type l) (Kind l)
- | TyPromoted l (Promoted l)
- | TyEquals l (Type l) (Type l)
- | TySplice l (Splice l)
- | TyBang l (BangType l) (Unpackedness l) (Type l)
- | TyWildCard l (Maybe (Name l))
- | TyQuasiQuote l String String
- data Boxed
- type Kind = Type
- data TyVarBind l
- = KindedVar l (Name l) (Kind l)
- | UnkindedVar l (Name l)
- data Promoted l
- = PromotedInteger l Integer String
- | PromotedString l String String
- | PromotedCon l Bool (QName l)
- | PromotedList l Bool [Type l]
- | PromotedTuple l [Type l]
- | PromotedUnit l
- data TypeEqn l = TypeEqn l (Type l) (Type l)
- data Exp l
- = Var l (QName l)
- | OverloadedLabel l String
- | IPVar l (IPName l)
- | Con l (QName l)
- | Lit l (Literal l)
- | InfixApp l (Exp l) (QOp l) (Exp l)
- | App l (Exp l) (Exp l)
- | NegApp l (Exp l)
- | Lambda l [Pat l] (Exp l)
- | Let l (Binds l) (Exp l)
- | If l (Exp l) (Exp l) (Exp l)
- | MultiIf l [GuardedRhs l]
- | Case l (Exp l) [Alt l]
- | Do l [Stmt l]
- | MDo l [Stmt l]
- | Tuple l Boxed [Exp l]
- | UnboxedSum l Int Int (Exp l)
- | TupleSection l Boxed [Maybe (Exp l)]
- | List l [Exp l]
- | ParArray l [Exp l]
- | Paren l (Exp l)
- | LeftSection l (Exp l) (QOp l)
- | RightSection l (QOp l) (Exp l)
- | RecConstr l (QName l) [FieldUpdate l]
- | RecUpdate l (Exp l) [FieldUpdate l]
- | EnumFrom l (Exp l)
- | EnumFromTo l (Exp l) (Exp l)
- | EnumFromThen l (Exp l) (Exp l)
- | EnumFromThenTo l (Exp l) (Exp l) (Exp l)
- | ParArrayFromTo l (Exp l) (Exp l)
- | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)
- | ListComp l (Exp l) [QualStmt l]
- | ParComp l (Exp l) [[QualStmt l]]
- | ParArrayComp l (Exp l) [[QualStmt l]]
- | ExpTypeSig l (Exp l) (Type l)
- | VarQuote l (QName l)
- | TypQuote l (QName l)
- | BracketExp l (Bracket l)
- | SpliceExp l (Splice l)
- | QuasiQuote l String String
- | TypeApp l (Type l)
- | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
- | XETag l (XName l) [XAttr l] (Maybe (Exp l))
- | XPcdata l String
- | XExpTag l (Exp l)
- | XChildTag l [Exp l]
- | CorePragma l String (Exp l)
- | SCCPragma l String (Exp l)
- | GenPragma l String (Int, Int) (Int, Int) (Exp l)
- | Proc l (Pat l) (Exp l)
- | LeftArrApp l (Exp l) (Exp l)
- | RightArrApp l (Exp l) (Exp l)
- | LeftArrHighApp l (Exp l) (Exp l)
- | RightArrHighApp l (Exp l) (Exp l)
- | ArrOp l (Exp l)
- | LCase l [Alt l]
- data Stmt l
- data QualStmt l
- data FieldUpdate l
- = FieldUpdate l (QName l) (Exp l)
- | FieldPun l (QName l)
- | FieldWildcard l
- data Alt l = Alt l (Pat l) (Rhs l) (Maybe (Binds l))
- data XAttr l = XAttr l (XName l) (Exp l)
- data Pat l
- = PVar l (Name l)
- | PLit l (Sign l) (Literal l)
- | PNPlusK l (Name l) Integer
- | PInfixApp l (Pat l) (QName l) (Pat l)
- | PApp l (QName l) [Pat l]
- | PTuple l Boxed [Pat l]
- | PUnboxedSum l Int Int (Pat l)
- | PList l [Pat l]
- | PParen l (Pat l)
- | PRec l (QName l) [PatField l]
- | PAsPat l (Name l) (Pat l)
- | PWildCard l
- | PIrrPat l (Pat l)
- | PatTypeSig l (Pat l) (Type l)
- | PViewPat l (Exp l) (Pat l)
- | PRPat l [RPat l]
- | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]
- | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))
- | PXPcdata l String
- | PXPatTag l (Pat l)
- | PXRPats l [RPat l]
- | PSplice l (Splice l)
- | PQuasiQuote l String String
- | PBangPat l (Pat l)
- data PatField l
- data PXAttr l = PXAttr l (XName l) (Pat l)
- data RPat l
- data RPatOp l
- data Literal l
- data Sign l
- data ModuleName l = ModuleName l String
- data QName l
- = Qual l (ModuleName l) (Name l)
- | UnQual l (Name l)
- | Special l (SpecialCon l)
- data Name l
- data QOp l
- data Op l
- data SpecialCon l
- data CName l
- data IPName l
- data XName l
- data Role l
- = Nominal l
- | Representational l
- | Phantom l
- | RoleWildcard l
- data MaybePromotedName l
- = PromotedName l (QName l)
- | UnpromotedName l (QName l)
- data Bracket l
- = ExpBracket l (Exp l)
- | TExpBracket l (Exp l)
- | PatBracket l (Pat l)
- | TypeBracket l (Type l)
- | DeclBracket l [Decl l]
- data Splice l
- = IdSplice l String
- | TIdSplice l String
- | ParenSplice l (Exp l)
- | TParenSplice l (Exp l)
- data Safety l
- = PlayRisky l
- | PlaySafe l Bool
- | PlayInterruptible l
- data CallConv l
- data ModulePragma l
- = LanguagePragma l [Name l]
- | OptionsPragma l (Maybe Tool) String
- | AnnModulePragma l (Annotation l)
- data Tool
- data Overlap l
- = NoOverlap l
- | Overlap l
- | Overlapping l
- | Overlaps l
- | Overlappable l
- | Incoherent l
- data Rule l = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)
- data RuleVar l
- = RuleVar l (Name l)
- | TypedRuleVar l (Name l) (Type l)
- data Activation l
- = ActiveFrom l Int
- | ActiveUntil l Int
- data Annotation l
- data BooleanFormula l
- = VarFormula l (Name l)
- | AndFormula l [BooleanFormula l]
- | OrFormula l [BooleanFormula l]
- | ParenFormula 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_con_name :: l -> 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
- role_name :: l -> Name l
- hole_name :: l -> QName l
- stock_name :: l -> Name l
- anyclass_name :: l -> Name l
- via_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
- class Functor ast => Annotated ast where
- (=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool
Modules
A complete Haskell source module.
Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l] | an ordinary Haskell module |
XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp 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. |
XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l] | a hybrid module combining an XML document with an ordinary module |
Instances
data ModuleHead l Source #
The head of a module, including the name and export specification.
ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l)) |
Instances
data WarningText l Source #
Warning text to optionally use in the module header of e.g. a deprecated module.
Instances
data ExportSpecList l Source #
An explicit export specification.
ExportSpecList l [ExportSpec l] |
Instances
data ExportSpec l Source #
An item in a module's export specification.
EVar l (QName l) | variable. |
EAbs l (Namespace l) (QName l) |
|
EThingWith l (EWildcard l) (QName l) [CName l] |
|
EModuleContents l (ModuleName l) |
|
Instances
Indicates the position of the wildcard in an export list
NoWildcard l | |
EWildcard l Int |
Instances
Foldable EWildcard Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => EWildcard m -> m # foldMap :: Monoid m => (a -> m) -> EWildcard a -> m # foldMap' :: Monoid m => (a -> m) -> EWildcard a -> m # foldr :: (a -> b -> b) -> b -> EWildcard a -> b # foldr' :: (a -> b -> b) -> b -> EWildcard a -> b # foldl :: (b -> a -> b) -> b -> EWildcard a -> b # foldl' :: (b -> a -> b) -> b -> EWildcard a -> b # foldr1 :: (a -> a -> a) -> EWildcard a -> a # foldl1 :: (a -> a -> a) -> EWildcard a -> a # toList :: EWildcard a -> [a] # length :: EWildcard a -> Int # elem :: Eq a => a -> EWildcard a -> Bool # maximum :: Ord a => EWildcard a -> a # minimum :: Ord a => EWildcard a -> a # | |
Traversable EWildcard Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Functor EWildcard Source # | |
Annotated EWildcard Source # | |
Data l => Data (EWildcard l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EWildcard l -> c (EWildcard l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (EWildcard l) # toConstr :: EWildcard l -> Constr # dataTypeOf :: EWildcard l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (EWildcard l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (EWildcard l)) # gmapT :: (forall b. Data b => b -> b) -> EWildcard l -> EWildcard l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EWildcard l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EWildcard l -> r # gmapQ :: (forall d. Data d => d -> u) -> EWildcard l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> EWildcard l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> EWildcard l -> m (EWildcard l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EWildcard l -> m (EWildcard l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EWildcard l -> m (EWildcard l) # | |
Generic (EWildcard l) Source # | |
Show l => Show (EWildcard l) Source # | |
Eq l => Eq (EWildcard l) Source # | |
Ord l => Ord (EWildcard l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
type Rep (EWildcard l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (EWildcard l) = D1 ('MetaData "EWildcard" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "NoWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "EWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) |
data ImportDecl l Source #
An import declaration.
ImportDecl | |
|
Instances
data ImportSpecList l Source #
An explicit import specification list.
ImportSpecList l Bool [ImportSpec l] | A list of import specifications.
The |
Instances
data ImportSpec l Source #
An import specification, representing a single explicit item imported (or hidden) from a module.
IVar l (Name l) | variable |
IAbs l (Namespace l) (Name l) |
|
IThingAll l (Name l) |
|
IThingWith l (Name l) [CName l] |
|
Instances
Associativity of an operator.
AssocNone l | non-associative operator (declared with |
AssocLeft l | left-associative operator (declared with |
AssocRight l | right-associative operator (declared with |
Instances
Foldable Assoc Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Assoc m -> m # foldMap :: Monoid m => (a -> m) -> Assoc a -> m # foldMap' :: Monoid m => (a -> m) -> Assoc a -> m # foldr :: (a -> b -> b) -> b -> Assoc a -> b # foldr' :: (a -> b -> b) -> b -> Assoc a -> b # foldl :: (b -> a -> b) -> b -> Assoc a -> b # foldl' :: (b -> a -> b) -> b -> Assoc a -> b # foldr1 :: (a -> a -> a) -> Assoc a -> a # foldl1 :: (a -> a -> a) -> Assoc a -> a # elem :: Eq a => a -> Assoc a -> Bool # maximum :: Ord a => Assoc a -> a # minimum :: Ord a => Assoc a -> a # | |
Traversable Assoc Source # | |
Functor Assoc Source # | |
ExactP Assoc Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Assoc SrcSpanInfo -> EP () | |
Annotated Assoc Source # | |
Data l => Data (Assoc l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Assoc l -> c (Assoc l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Assoc l) # toConstr :: Assoc l -> Constr # dataTypeOf :: Assoc l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Assoc l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Assoc l)) # gmapT :: (forall b. Data b => b -> b) -> Assoc l -> Assoc l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Assoc l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Assoc l -> r # gmapQ :: (forall d. Data d => d -> u) -> Assoc l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Assoc l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Assoc l -> m (Assoc l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Assoc l -> m (Assoc l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Assoc l -> m (Assoc l) # | |
Generic (Assoc l) Source # | |
Show l => Show (Assoc l) Source # | |
Eq l => Eq (Assoc l) Source # | |
Ord l => Ord (Assoc l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Assoc l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Assoc l -> Doc | |
type Rep (Assoc l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Assoc l) = D1 ('MetaData "Assoc" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "AssocNone" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "AssocLeft" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "AssocRight" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
Namespaces for imports/exports.
Instances
Foldable Namespace Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Namespace m -> m # foldMap :: Monoid m => (a -> m) -> Namespace a -> m # foldMap' :: Monoid m => (a -> m) -> Namespace a -> m # foldr :: (a -> b -> b) -> b -> Namespace a -> b # foldr' :: (a -> b -> b) -> b -> Namespace a -> b # foldl :: (b -> a -> b) -> b -> Namespace a -> b # foldl' :: (b -> a -> b) -> b -> Namespace a -> b # foldr1 :: (a -> a -> a) -> Namespace a -> a # foldl1 :: (a -> a -> a) -> Namespace a -> a # toList :: Namespace a -> [a] # length :: Namespace a -> Int # elem :: Eq a => a -> Namespace a -> Bool # maximum :: Ord a => Namespace a -> a # minimum :: Ord a => Namespace a -> a # | |
Traversable Namespace Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Functor Namespace Source # | |
ExactP Namespace Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Namespace SrcSpanInfo -> EP () | |
Annotated Namespace Source # | |
Data l => Data (Namespace l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Namespace l -> c (Namespace l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Namespace l) # toConstr :: Namespace l -> Constr # dataTypeOf :: Namespace l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Namespace l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Namespace l)) # gmapT :: (forall b. Data b => b -> b) -> Namespace l -> Namespace l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Namespace l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Namespace l -> r # gmapQ :: (forall d. Data d => d -> u) -> Namespace l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Namespace l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Namespace l -> m (Namespace l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Namespace l -> m (Namespace l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Namespace l -> m (Namespace l) # | |
Generic (Namespace l) Source # | |
Show l => Show (Namespace l) Source # | |
Eq l => Eq (Namespace l) Source # | |
Ord l => Ord (Namespace l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Namespace l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Namespace l -> Doc | |
type Rep (Namespace l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Namespace l) = D1 ('MetaData "Namespace" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "NoNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "TypeNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "PatternNamespace" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
Declarations
A top-level declaration.
TypeDecl l (DeclHead l) (Type l) | A type declaration |
TypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) | A type family declaration |
ClosedTypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l] | A closed type family declaration |
DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] [Deriving l] | A data OR newtype declaration |
GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] [Deriving l] | A data OR newtype declaration, GADT style |
DataFamDecl l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l)) | A data family declaration |
TypeInsDecl l (Type l) (Type l) | A type family instance declaration |
DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l] | A data family instance declaration |
GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l] | A data family instance declaration, GADT style |
ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l]) | A declaration of a type class |
InstDecl l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l]) | An declaration of a type class instance |
DerivDecl l (Maybe (DerivStrategy l)) (Maybe (Overlap l)) (InstRule l) | A standalone deriving declaration |
InfixDecl l (Assoc l) (Maybe Int) [Op l] | A declaration of operator fixity |
DefaultDecl l [Type l] | A declaration of default types |
SpliceDecl l (Exp l) | A Template Haskell splicing declaration |
TSpliceDecl l (Exp l) | A typed Template Haskell splicing declaration |
TypeSig l [Name l] (Type l) | A type signature declaration |
PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe [TyVarBind l]) (Maybe (Context l)) (Type l) | A pattern synonym signature declation |
FunBind l [Match l] | A set of function binding clauses |
PatBind l (Pat l) (Rhs l) (Maybe (Binds l)) | A pattern binding |
PatSyn l (Pat l) (Pat l) (PatternSynDirection l) | A pattern synonym binding |
ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l) | A foreign import declaration |
ForExp l (CallConv l) (Maybe String) (Name l) (Type l) | A foreign export declaration |
RulePragmaDecl l [Rule l] | A RULES pragma |
DeprPragmaDecl l [([Name l], String)] | A DEPRECATED pragma |
WarnPragmaDecl l [([Name l], String)] | A WARNING pragma |
InlineSig l Bool (Maybe (Activation l)) (QName l) | An INLINE pragma |
InlineConlikeSig l (Maybe (Activation l)) (QName l) | An INLINE CONLIKE pragma |
SpecSig l (Maybe (Activation l)) (QName l) [Type l] | A SPECIALISE pragma |
SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l] | A SPECIALISE INLINE pragma |
InstSig l (InstRule l) | A SPECIALISE instance pragma |
AnnPragma l (Annotation l) | An ANN pragma |
MinimalPragma l (Maybe (BooleanFormula l)) | A MINIMAL pragma |
RoleAnnotDecl l (QName l) [Role l] | A role annotation |
CompletePragma l [Name l] (Maybe (QName l)) | A COMPLETE pragma |
Instances
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"))
DHead l (Name l) | type or class name |
DHInfix l (TyVarBind l) (Name l) | infix application of the type/class name to the left operand |
DHParen l (DeclHead l) | parenthesized declaration head |
DHApp l (DeclHead l) (TyVarBind l) | application to one more type variable |
Instances
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") ]) ...
Instances
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")))))
IHCon l (QName l) | type or class name |
IHInfix l (Type l) (QName l) | infix application of the type/class name to the left operand |
IHParen l (InstHead l) | parenthesized instance head |
IHApp l (InstHead l) (Type l) | application to one more type |
Instances
A binding group inside a let
or where
clause.
BDecls l [Decl l] | An ordinary binding group |
IPBinds l [IPBind l] | A binding group for implicit parameters |
Instances
Foldable Binds Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Binds m -> m # foldMap :: Monoid m => (a -> m) -> Binds a -> m # foldMap' :: Monoid m => (a -> m) -> Binds a -> m # foldr :: (a -> b -> b) -> b -> Binds a -> b # foldr' :: (a -> b -> b) -> b -> Binds a -> b # foldl :: (b -> a -> b) -> b -> Binds a -> b # foldl' :: (b -> a -> b) -> b -> Binds a -> b # foldr1 :: (a -> a -> a) -> Binds a -> a # foldl1 :: (a -> a -> a) -> Binds a -> a # elem :: Eq a => a -> Binds a -> Bool # maximum :: Ord a => Binds a -> a # minimum :: Ord a => Binds a -> a # | |
Traversable Binds Source # | |
Functor Binds Source # | |
ExactP Binds Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Binds SrcSpanInfo -> EP () | |
AppFixity Binds Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> Binds SrcSpanInfo -> m (Binds SrcSpanInfo) Source # | |
Annotated Binds Source # | |
Data l => Data (Binds l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binds l -> c (Binds l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Binds l) # toConstr :: Binds l -> Constr # dataTypeOf :: Binds l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Binds l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Binds l)) # gmapT :: (forall b. Data b => b -> b) -> Binds l -> Binds l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binds l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binds l -> r # gmapQ :: (forall d. Data d => d -> u) -> Binds l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Binds l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binds l -> m (Binds l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binds l -> m (Binds l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binds l -> m (Binds l) # | |
Generic (Binds l) Source # | |
Show l => Show (Binds l) Source # | |
Eq l => Eq (Binds l) Source # | |
Ord l => Ord (Binds l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
type Rep (Binds l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Binds l) = D1 ('MetaData "Binds" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "BDecls" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Decl l])) :+: C1 ('MetaCons "IPBinds" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IPBind l]))) |
A binding of an implicit parameter.
Instances
Foldable IPBind Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => IPBind m -> m # foldMap :: Monoid m => (a -> m) -> IPBind a -> m # foldMap' :: Monoid m => (a -> m) -> IPBind a -> m # foldr :: (a -> b -> b) -> b -> IPBind a -> b # foldr' :: (a -> b -> b) -> b -> IPBind a -> b # foldl :: (b -> a -> b) -> b -> IPBind a -> b # foldl' :: (b -> a -> b) -> b -> IPBind a -> b # foldr1 :: (a -> a -> a) -> IPBind a -> a # foldl1 :: (a -> a -> a) -> IPBind a -> a # elem :: Eq a => a -> IPBind a -> Bool # maximum :: Ord a => IPBind a -> a # minimum :: Ord a => IPBind a -> a # | |
Traversable IPBind Source # | |
Functor IPBind Source # | |
ExactP IPBind Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: IPBind SrcSpanInfo -> EP () | |
AppFixity IPBind Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> IPBind SrcSpanInfo -> m (IPBind SrcSpanInfo) Source # | |
Annotated IPBind Source # | |
Data l => Data (IPBind l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPBind l -> c (IPBind l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IPBind l) # toConstr :: IPBind l -> Constr # dataTypeOf :: IPBind l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IPBind l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IPBind l)) # gmapT :: (forall b. Data b => b -> b) -> IPBind l -> IPBind l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPBind l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPBind l -> r # gmapQ :: (forall d. Data d => d -> u) -> IPBind l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IPBind l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPBind l -> m (IPBind l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPBind l -> m (IPBind l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPBind l -> m (IPBind l) # | |
Generic (IPBind l) Source # | |
Show l => Show (IPBind l) Source # | |
Eq l => Eq (IPBind l) Source # | |
Ord l => Ord (IPBind l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (IPBind l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> IPBind l -> Doc | |
type Rep (IPBind l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (IPBind l) = D1 ('MetaData "IPBind" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "IPBind" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IPName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))) |
data PatternSynDirection l Source #
Unidirectional | A unidirectional pattern synonym with "<-" |
ImplicitBidirectional | A bidirectional pattern synonym with "=" |
ExplicitBidirectional l [Decl l] | A birectional pattern synonym with the construction specified. |
Instances
data InjectivityInfo l Source #
Injectivity info for injective type families
InjectivityInfo l (Name l) [Name l] |
Instances
Instances
Type classes and instances
Declarations inside a class declaration.
ClsDecl l (Decl l) | ordinary declaration |
ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l)) | declaration of an associated data type |
ClsTyFam l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) | declaration of an associated type synonym |
ClsTyDef l (TypeEqn l) | default choice for an associated type synonym |
ClsDefSig l (Name l) (Type l) | default signature |
Instances
Declarations inside an instance declaration.
InsDecl l (Decl l) | ordinary declaration |
InsType l (Type l) (Type l) | an associated type definition |
InsData l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l] | an associated data type implementation |
InsGData l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l] | an associated data type implemented using GADT style |
Instances
A deriving clause following a data type declaration.
Deriving l (Maybe (DerivStrategy l)) [InstRule l] |
Instances
Foldable Deriving Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Deriving m -> m # foldMap :: Monoid m => (a -> m) -> Deriving a -> m # foldMap' :: Monoid m => (a -> m) -> Deriving a -> m # foldr :: (a -> b -> b) -> b -> Deriving a -> b # foldr' :: (a -> b -> b) -> b -> Deriving a -> b # foldl :: (b -> a -> b) -> b -> Deriving a -> b # foldl' :: (b -> a -> b) -> b -> Deriving a -> b # foldr1 :: (a -> a -> a) -> Deriving a -> a # foldl1 :: (a -> a -> a) -> Deriving a -> a # elem :: Eq a => a -> Deriving a -> Bool # maximum :: Ord a => Deriving a -> a # minimum :: Ord a => Deriving a -> a # | |
Traversable Deriving Source # | |
Functor Deriving Source # | |
ExactP Deriving Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Deriving SrcSpanInfo -> EP () | |
Annotated Deriving Source # | |
Data l => Data (Deriving l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Deriving l -> c (Deriving l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Deriving l) # toConstr :: Deriving l -> Constr # dataTypeOf :: Deriving l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Deriving l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Deriving l)) # gmapT :: (forall b. Data b => b -> b) -> Deriving l -> Deriving l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Deriving l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Deriving l -> r # gmapQ :: (forall d. Data d => d -> u) -> Deriving l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Deriving l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Deriving l -> m (Deriving l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Deriving l -> m (Deriving l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Deriving l -> m (Deriving l) # | |
Generic (Deriving l) Source # | |
Show l => Show (Deriving l) Source # | |
Eq l => Eq (Deriving l) Source # | |
Ord l => Ord (Deriving l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Deriving l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Deriving l -> Doc | |
type Rep (Deriving l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Deriving l) = D1 ('MetaData "Deriving" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "Deriving" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (DerivStrategy l))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [InstRule l])))) |
data DerivStrategy l Source #
Which technique the user explicitly requested when deriving an instance.
DerivStock l | GHC's "standard" strategy, which is to implement a
custom instance for the data type. This only works for
certain types that GHC knows about (e.g., |
DerivAnyclass l | -XDeriveAnyClass |
DerivNewtype l | -XGeneralizedNewtypeDeriving |
DerivVia l (Type l) | -XDerivingVia |
Instances
Data type declarations
A flag stating whether a declaration is a data or newtype declaration.
Instances
Foldable DataOrNew Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => DataOrNew m -> m # foldMap :: Monoid m => (a -> m) -> DataOrNew a -> m # foldMap' :: Monoid m => (a -> m) -> DataOrNew a -> m # foldr :: (a -> b -> b) -> b -> DataOrNew a -> b # foldr' :: (a -> b -> b) -> b -> DataOrNew a -> b # foldl :: (b -> a -> b) -> b -> DataOrNew a -> b # foldl' :: (b -> a -> b) -> b -> DataOrNew a -> b # foldr1 :: (a -> a -> a) -> DataOrNew a -> a # foldl1 :: (a -> a -> a) -> DataOrNew a -> a # toList :: DataOrNew a -> [a] # length :: DataOrNew a -> Int # elem :: Eq a => a -> DataOrNew a -> Bool # maximum :: Ord a => DataOrNew a -> a # minimum :: Ord a => DataOrNew a -> a # | |
Traversable DataOrNew Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Functor DataOrNew Source # | |
ExactP DataOrNew Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: DataOrNew SrcSpanInfo -> EP () | |
Annotated DataOrNew Source # | |
Data l => Data (DataOrNew l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataOrNew l -> c (DataOrNew l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (DataOrNew l) # toConstr :: DataOrNew l -> Constr # dataTypeOf :: DataOrNew l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (DataOrNew l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (DataOrNew l)) # gmapT :: (forall b. Data b => b -> b) -> DataOrNew l -> DataOrNew l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataOrNew l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataOrNew l -> r # gmapQ :: (forall d. Data d => d -> u) -> DataOrNew l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> DataOrNew l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataOrNew l -> m (DataOrNew l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataOrNew l -> m (DataOrNew l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataOrNew l -> m (DataOrNew l) # | |
Generic (DataOrNew l) Source # | |
Show l => Show (DataOrNew l) Source # | |
Eq l => Eq (DataOrNew l) Source # | |
Ord l => Ord (DataOrNew l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (DataOrNew l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> DataOrNew l -> Doc | |
type Rep (DataOrNew l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (DataOrNew l) = D1 ('MetaData "DataOrNew" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "DataType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "NewType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) |
Declaration of an ordinary data constructor.
ConDecl l (Name l) [Type l] | ordinary data constructor |
InfixConDecl l (Type l) (Name l) (Type l) | infix data constructor |
RecDecl l (Name l) [FieldDecl l] | record constructor |
Instances
Declaration of a (list of) named field(s).
Instances
Foldable FieldDecl Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => FieldDecl m -> m # foldMap :: Monoid m => (a -> m) -> FieldDecl a -> m # foldMap' :: Monoid m => (a -> m) -> FieldDecl a -> m # foldr :: (a -> b -> b) -> b -> FieldDecl a -> b # foldr' :: (a -> b -> b) -> b -> FieldDecl a -> b # foldl :: (b -> a -> b) -> b -> FieldDecl a -> b # foldl' :: (b -> a -> b) -> b -> FieldDecl a -> b # foldr1 :: (a -> a -> a) -> FieldDecl a -> a # foldl1 :: (a -> a -> a) -> FieldDecl a -> a # toList :: FieldDecl a -> [a] # length :: FieldDecl a -> Int # elem :: Eq a => a -> FieldDecl a -> Bool # maximum :: Ord a => FieldDecl a -> a # minimum :: Ord a => FieldDecl a -> a # | |
Traversable FieldDecl Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Functor FieldDecl Source # | |
ExactP FieldDecl Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: FieldDecl SrcSpanInfo -> EP () | |
Annotated FieldDecl Source # | |
Data l => Data (FieldDecl l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldDecl l -> c (FieldDecl l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FieldDecl l) # toConstr :: FieldDecl l -> Constr # dataTypeOf :: FieldDecl l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FieldDecl l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FieldDecl l)) # gmapT :: (forall b. Data b => b -> b) -> FieldDecl l -> FieldDecl l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldDecl l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldDecl l -> r # gmapQ :: (forall d. Data d => d -> u) -> FieldDecl l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldDecl l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldDecl l -> m (FieldDecl l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldDecl l -> m (FieldDecl l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldDecl l -> m (FieldDecl l) # | |
Generic (FieldDecl l) Source # | |
Show l => Show (FieldDecl l) Source # | |
Eq l => Eq (FieldDecl l) Source # | |
Ord l => Ord (FieldDecl l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (FieldDecl l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> FieldDecl l -> Doc | |
type Rep (FieldDecl l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (FieldDecl l) = D1 ('MetaData "FieldDecl" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "FieldDecl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) |
data QualConDecl l Source #
A single constructor declaration within a data type declaration, which may have an existential quantification binding.
Instances
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 FieldDecl
s, 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
is Maybe
[FieldDecl
l]Nothing
, and the whole constructor's
type (such as Int -> Bool -> Ty
) is stored in the last Type
field.
Instances
The type of a constructor argument or field, optionally including a strictness annotation.
BangedTy l | strict component, marked with " |
LazyTy l | lazy component, marked with " |
NoStrictAnnot l | No strictness information |
Instances
Foldable BangType Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => BangType m -> m # foldMap :: Monoid m => (a -> m) -> BangType a -> m # foldMap' :: Monoid m => (a -> m) -> BangType a -> m # foldr :: (a -> b -> b) -> b -> BangType a -> b # foldr' :: (a -> b -> b) -> b -> BangType a -> b # foldl :: (b -> a -> b) -> b -> BangType a -> b # foldl' :: (b -> a -> b) -> b -> BangType a -> b # foldr1 :: (a -> a -> a) -> BangType a -> a # foldl1 :: (a -> a -> a) -> BangType a -> a # elem :: Eq a => a -> BangType a -> Bool # maximum :: Ord a => BangType a -> a # minimum :: Ord a => BangType a -> a # | |
Traversable BangType Source # | |
Functor BangType Source # | |
ExactP BangType Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: BangType SrcSpanInfo -> EP () | |
Annotated BangType Source # | |
Data l => Data (BangType l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BangType l -> c (BangType l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (BangType l) # toConstr :: BangType l -> Constr # dataTypeOf :: BangType l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (BangType l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (BangType l)) # gmapT :: (forall b. Data b => b -> b) -> BangType l -> BangType l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BangType l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BangType l -> r # gmapQ :: (forall d. Data d => d -> u) -> BangType l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BangType l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BangType l -> m (BangType l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BangType l -> m (BangType l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BangType l -> m (BangType l) # | |
Generic (BangType l) Source # | |
Show l => Show (BangType l) Source # | |
Eq l => Eq (BangType l) Source # | |
Ord l => Ord (BangType l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (BangType l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> BangType l -> Doc | |
type Rep (BangType l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (BangType l) = D1 ('MetaData "BangType" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "BangedTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "LazyTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "NoStrictAnnot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
data Unpackedness l Source #
Unpack l | " |
NoUnpack l | " |
NoUnpackPragma l | No unpack pragma |
Instances
Function bindings
Clauses of a function binding.
Match l (Name l) [Pat l] (Rhs l) (Maybe (Binds 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. |
InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) (Maybe (Binds 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. |
Instances
The right hand side of a function binding, pattern binding, or a case alternative.
UnGuardedRhs l (Exp l) | unguarded right hand side (exp) |
GuardedRhss l [GuardedRhs l] | guarded right hand side (gdrhs) |
Instances
Foldable Rhs Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Rhs m -> m # foldMap :: Monoid m => (a -> m) -> Rhs a -> m # foldMap' :: Monoid m => (a -> m) -> Rhs a -> m # foldr :: (a -> b -> b) -> b -> Rhs a -> b # foldr' :: (a -> b -> b) -> b -> Rhs a -> b # foldl :: (b -> a -> b) -> b -> Rhs a -> b # foldl' :: (b -> a -> b) -> b -> Rhs a -> b # foldr1 :: (a -> a -> a) -> Rhs a -> a # foldl1 :: (a -> a -> a) -> Rhs a -> a # elem :: Eq a => a -> Rhs a -> Bool # maximum :: Ord a => Rhs a -> a # | |
Traversable Rhs Source # | |
Functor Rhs Source # | |
ExactP Rhs Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Rhs SrcSpanInfo -> EP () | |
AppFixity Rhs Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> Rhs SrcSpanInfo -> m (Rhs SrcSpanInfo) Source # | |
Annotated Rhs Source # | |
Data l => Data (Rhs l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rhs l -> c (Rhs l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rhs l) # dataTypeOf :: Rhs l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rhs l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rhs l)) # gmapT :: (forall b. Data b => b -> b) -> Rhs l -> Rhs l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rhs l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rhs l -> r # gmapQ :: (forall d. Data d => d -> u) -> Rhs l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Rhs l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rhs l -> m (Rhs l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rhs l -> m (Rhs l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rhs l -> m (Rhs l) # | |
Generic (Rhs l) Source # | |
Show l => Show (Rhs l) Source # | |
Eq l => Eq (Rhs l) Source # | |
Ord l => Ord (Rhs l) Source # | |
Pretty (Rhs l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Rhs l -> Doc | |
type Rep (Rhs l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Rhs l) = D1 ('MetaData "Rhs" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "UnGuardedRhs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))) :+: C1 ('MetaCons "GuardedRhss" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GuardedRhs l]))) |
data GuardedRhs l Source #
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.
GuardedRhs l [Stmt l] (Exp l) |
Instances
Class Assertions and Contexts
A context is a set of assertions
Instances
Foldable Context Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Context m -> m # foldMap :: Monoid m => (a -> m) -> Context a -> m # foldMap' :: Monoid m => (a -> m) -> Context a -> m # foldr :: (a -> b -> b) -> b -> Context a -> b # foldr' :: (a -> b -> b) -> b -> Context a -> b # foldl :: (b -> a -> b) -> b -> Context a -> b # foldl' :: (b -> a -> b) -> b -> Context a -> b # foldr1 :: (a -> a -> a) -> Context a -> a # foldl1 :: (a -> a -> a) -> Context a -> a # elem :: Eq a => a -> Context a -> Bool # maximum :: Ord a => Context a -> a # minimum :: Ord a => Context a -> a # | |
Traversable Context Source # | |
Functor Context Source # | |
ExactP Context Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Context SrcSpanInfo -> EP () | |
Annotated Context Source # | |
Data l => Data (Context l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Context l -> c (Context l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Context l) # toConstr :: Context l -> Constr # dataTypeOf :: Context l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Context l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Context l)) # gmapT :: (forall b. Data b => b -> b) -> Context l -> Context l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Context l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Context l -> r # gmapQ :: (forall d. Data d => d -> u) -> Context l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Context l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Context l -> m (Context l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Context l -> m (Context l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Context l -> m (Context l) # | |
Generic (Context l) Source # | |
Show l => Show (Context l) Source # | |
Eq l => Eq (Context l) Source # | |
Ord l => Ord (Context l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Context l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Context l -> Doc | |
type Rep (Context l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Context l) = D1 ('MetaData "Context" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "CxSingle" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Asst l))) :+: (C1 ('MetaCons "CxTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Asst l])) :+: C1 ('MetaCons "CxEmpty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
A functional dependency, given on the form l1 l2 ... ln -> r2 r3 .. rn
Instances
Foldable FunDep Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => FunDep m -> m # foldMap :: Monoid m => (a -> m) -> FunDep a -> m # foldMap' :: Monoid m => (a -> m) -> FunDep a -> m # foldr :: (a -> b -> b) -> b -> FunDep a -> b # foldr' :: (a -> b -> b) -> b -> FunDep a -> b # foldl :: (b -> a -> b) -> b -> FunDep a -> b # foldl' :: (b -> a -> b) -> b -> FunDep a -> b # foldr1 :: (a -> a -> a) -> FunDep a -> a # foldl1 :: (a -> a -> a) -> FunDep a -> a # elem :: Eq a => a -> FunDep a -> Bool # maximum :: Ord a => FunDep a -> a # minimum :: Ord a => FunDep a -> a # | |
Traversable FunDep Source # | |
Functor FunDep Source # | |
ExactP FunDep Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: FunDep SrcSpanInfo -> EP () | |
Annotated FunDep Source # | |
Data l => Data (FunDep l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunDep l -> c (FunDep l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FunDep l) # toConstr :: FunDep l -> Constr # dataTypeOf :: FunDep l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FunDep l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FunDep l)) # gmapT :: (forall b. Data b => b -> b) -> FunDep l -> FunDep l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunDep l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunDep l -> r # gmapQ :: (forall d. Data d => d -> u) -> FunDep l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FunDep l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunDep l -> m (FunDep l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep l -> m (FunDep l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDep l -> m (FunDep l) # | |
Generic (FunDep l) Source # | |
Show l => Show (FunDep l) Source # | |
Eq l => Eq (FunDep l) Source # | |
Ord l => Ord (FunDep l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (FunDep l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> FunDep l -> Doc | |
type Rep (FunDep l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (FunDep l) = D1 ('MetaData "FunDep" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "FunDep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Name l])))) |
Class assertions.
TypeA l (Type l) | type assertion |
IParam l (IPName l) (Type l) | implicit parameter assertion |
ParenA l (Asst l) | parenthesised class assertion |
Instances
Foldable Asst Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Asst m -> m # foldMap :: Monoid m => (a -> m) -> Asst a -> m # foldMap' :: Monoid m => (a -> m) -> Asst a -> m # foldr :: (a -> b -> b) -> b -> Asst a -> b # foldr' :: (a -> b -> b) -> b -> Asst a -> b # foldl :: (b -> a -> b) -> b -> Asst a -> b # foldl' :: (b -> a -> b) -> b -> Asst a -> b # foldr1 :: (a -> a -> a) -> Asst a -> a # foldl1 :: (a -> a -> a) -> Asst a -> a # elem :: Eq a => a -> Asst a -> Bool # maximum :: Ord a => Asst a -> a # | |
Traversable Asst Source # | |
Functor Asst Source # | |
ExactP Asst Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Asst SrcSpanInfo -> EP () | |
Annotated Asst Source # | |
Data l => Data (Asst l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Asst l -> c (Asst l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Asst l) # toConstr :: Asst l -> Constr # dataTypeOf :: Asst l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Asst l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Asst l)) # gmapT :: (forall b. Data b => b -> b) -> Asst l -> Asst l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Asst l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Asst l -> r # gmapQ :: (forall d. Data d => d -> u) -> Asst l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Asst l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Asst l -> m (Asst l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Asst l -> m (Asst l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Asst l -> m (Asst l) # | |
Generic (Asst l) Source # | |
Show l => Show (Asst l) Source # | |
Eq l => Eq (Asst l) Source # | |
Ord l => Ord (Asst l) Source # | |
Pretty (Asst l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Asst l -> Doc | |
type Rep (Asst l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Asst l) = D1 ('MetaData "Asst" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "TypeA" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))) :+: (C1 ('MetaCons "IParam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IPName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)))) :+: C1 ('MetaCons "ParenA" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Asst l))))) |
Types
A type qualified with a context. An unqualified type has an empty context.
TyForall l (Maybe [TyVarBind l]) (Maybe (Context l)) (Type l) | qualified type |
TyStar l |
|
TyFun l (Type l) (Type l) | function type |
TyTuple l Boxed [Type l] | tuple type, possibly boxed |
TyUnboxedSum l [Type l] | unboxed tuple type |
TyList l (Type l) | list syntax, e.g. [a], as opposed to [] a |
TyParArray l (Type l) | parallel array syntax, e.g. [:a:] |
TyApp l (Type l) (Type l) | application of a type constructor |
TyVar l (Name l) | type variable |
TyCon l (QName l) | named type or type constructor |
TyParen l (Type l) | type surrounded by parentheses |
TyInfix l (Type l) (MaybePromotedName l) (Type l) | infix type constructor |
TyKind l (Type l) (Kind l) | type with explicit kind signature |
TyPromoted l (Promoted l) |
|
TyEquals l (Type l) (Type l) | type equality predicate enabled by ConstraintKinds |
TySplice l (Splice l) | template haskell splice type |
TyBang l (BangType l) (Unpackedness l) (Type l) | Strict type marked with " |
TyWildCard l (Maybe (Name l)) | Either an anonymous of named type wildcard |
TyQuasiQuote l String String | [$name| string |] |
Instances
Flag denoting whether a tuple is boxed or unboxed.
Instances
Data Boxed Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Boxed -> c Boxed # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Boxed # dataTypeOf :: Boxed -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Boxed) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Boxed) # gmapT :: (forall b. Data b => b -> b) -> Boxed -> Boxed # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Boxed -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Boxed -> r # gmapQ :: (forall d. Data d => d -> u) -> Boxed -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Boxed -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Boxed -> m Boxed # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxed -> m Boxed # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxed -> m Boxed # | |
Generic Boxed Source # | |
Show Boxed Source # | |
Eq Boxed Source # | |
Ord Boxed Source # | |
type Rep Boxed Source # | |
A type variable declaration, optionally with an explicit kind annotation.
KindedVar l (Name l) (Kind l) | variable binding with kind annotation |
UnkindedVar l (Name l) | ordinary variable binding |
Instances
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]
.
PromotedInteger l Integer String | parsed value and raw string |
PromotedString l String String | parsed value and raw string |
PromotedCon l Bool (QName l) | |
PromotedList l Bool [Type l] | |
PromotedTuple l [Type l] | |
PromotedUnit l |
Instances
A type equation as found in closed type families.
Instances
Foldable TypeEqn Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => TypeEqn m -> m # foldMap :: Monoid m => (a -> m) -> TypeEqn a -> m # foldMap' :: Monoid m => (a -> m) -> TypeEqn a -> m # foldr :: (a -> b -> b) -> b -> TypeEqn a -> b # foldr' :: (a -> b -> b) -> b -> TypeEqn a -> b # foldl :: (b -> a -> b) -> b -> TypeEqn a -> b # foldl' :: (b -> a -> b) -> b -> TypeEqn a -> b # foldr1 :: (a -> a -> a) -> TypeEqn a -> a # foldl1 :: (a -> a -> a) -> TypeEqn a -> a # elem :: Eq a => a -> TypeEqn a -> Bool # maximum :: Ord a => TypeEqn a -> a # minimum :: Ord a => TypeEqn a -> a # | |
Traversable TypeEqn Source # | |
Functor TypeEqn Source # | |
ExactP TypeEqn Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: TypeEqn SrcSpanInfo -> EP () | |
Annotated TypeEqn Source # | |
Data l => Data (TypeEqn l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeEqn l -> c (TypeEqn l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TypeEqn l) # toConstr :: TypeEqn l -> Constr # dataTypeOf :: TypeEqn l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TypeEqn l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TypeEqn l)) # gmapT :: (forall b. Data b => b -> b) -> TypeEqn l -> TypeEqn l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeEqn l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeEqn l -> r # gmapQ :: (forall d. Data d => d -> u) -> TypeEqn l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeEqn l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeEqn l -> m (TypeEqn l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeEqn l -> m (TypeEqn l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeEqn l -> m (TypeEqn l) # | |
Generic (TypeEqn l) Source # | |
Show l => Show (TypeEqn l) Source # | |
Eq l => Eq (TypeEqn l) Source # | |
Ord l => Ord (TypeEqn l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (TypeEqn l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> TypeEqn l -> Doc | |
type Rep (TypeEqn l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (TypeEqn l) = D1 ('MetaData "TypeEqn" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "TypeEqn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) |
Expressions
Haskell expressions.
Var l (QName l) | variable |
OverloadedLabel l String | Overloaded label #foo |
IPVar l (IPName l) | implicit parameter variable |
Con l (QName l) | data constructor |
Lit l (Literal l) | literal constant |
InfixApp l (Exp l) (QOp l) (Exp l) | infix application |
App l (Exp l) (Exp l) | ordinary application |
NegApp l (Exp l) | negation expression |
Lambda l [Pat l] (Exp l) | lambda expression |
Let l (Binds l) (Exp l) | local declarations with |
If l (Exp l) (Exp l) (Exp l) |
|
MultiIf l [GuardedRhs l] |
|
Case l (Exp l) [Alt l] |
|
Do l [Stmt l] |
|
MDo l [Stmt l] |
|
Tuple l Boxed [Exp l] | tuple expression |
UnboxedSum l Int Int (Exp l) | unboxed sum |
TupleSection l Boxed [Maybe (Exp l)] | tuple section expression, e.g. |
List l [Exp l] | list expression |
ParArray l [Exp l] | parallel array expression |
Paren l (Exp l) | parenthesised expression |
LeftSection l (Exp l) (QOp l) | left section |
RightSection l (QOp l) (Exp l) | right section |
RecConstr l (QName l) [FieldUpdate l] | record construction expression |
RecUpdate l (Exp l) [FieldUpdate l] | record update expression |
EnumFrom l (Exp l) | unbounded arithmetic sequence,
incrementing by 1: |
EnumFromTo l (Exp l) (Exp l) | bounded arithmetic sequence,
incrementing by 1 |
EnumFromThen l (Exp l) (Exp l) | unbounded arithmetic sequence,
with first two elements given |
EnumFromThenTo l (Exp l) (Exp l) (Exp l) | bounded arithmetic sequence,
with first two elements given |
ParArrayFromTo l (Exp l) (Exp l) | Parallel array bounded arithmetic sequence,
incrementing by 1 |
ParArrayFromThenTo l (Exp l) (Exp l) (Exp l) | bounded arithmetic sequence,
with first two elements given |
ListComp l (Exp l) [QualStmt l] | ordinary list comprehension |
ParComp l (Exp l) [[QualStmt l]] | parallel list comprehension |
ParArrayComp l (Exp l) [[QualStmt l]] | parallel array comprehension |
ExpTypeSig l (Exp l) (Type l) | expression with explicit type signature |
VarQuote l (QName l) |
|
TypQuote l (QName l) |
|
BracketExp l (Bracket l) | template haskell bracket expression |
SpliceExp l (Splice l) | template haskell splice expression |
QuasiQuote l String String | quasi-quotaion: |
TypeApp l (Type l) | Visible type application |
XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l] | xml element, with attributes and children |
XETag l (XName l) [XAttr l] (Maybe (Exp l)) | empty xml element, with attributes |
XPcdata l String | PCDATA child element |
XExpTag l (Exp l) | escaped haskell expression inside xml |
XChildTag l [Exp l] | children of an xml element |
CorePragma l String (Exp l) | CORE pragma |
SCCPragma l String (Exp l) | SCC pragma |
GenPragma l String (Int, Int) (Int, Int) (Exp l) | GENERATED pragma |
Proc l (Pat l) (Exp l) | arrows proc: |
LeftArrApp l (Exp l) (Exp l) | arrow application (from left): exp |
RightArrApp l (Exp l) (Exp l) | arrow application (from right): exp |
LeftArrHighApp l (Exp l) (Exp l) | higher-order arrow application (from left): exp |
RightArrHighApp l (Exp l) (Exp l) | higher-order arrow application (from right): exp |
ArrOp l (Exp l) | arrow control operators: |
LCase l [Alt l] |
|
Instances
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.
Generator l (Pat l) (Exp l) | a generator: pat |
Qualifier l (Exp l) | an exp by itself: in a |
LetStmt l (Binds l) | local bindings |
RecStmt l [Stmt l] | a recursive binding group for arrows |
Instances
A general transqual in a list comprehension, which could potentially be a transform of the kind enabled by TransformListComp.
QualStmt l (Stmt l) | an ordinary statement |
ThenTrans l (Exp l) |
|
ThenBy l (Exp l) (Exp l) |
|
GroupBy l (Exp l) |
|
GroupUsing l (Exp l) |
|
GroupByUsing l (Exp l) (Exp l) |
|
Instances
data FieldUpdate l Source #
An fbind in a labeled construction or update expression.
FieldUpdate l (QName l) (Exp l) | ordinary label-expresion pair |
FieldPun l (QName l) | record field pun |
FieldWildcard l | record field wildcard |
Instances
An alt alternative in a case
expression.
Instances
Foldable Alt Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Alt m -> m # foldMap :: Monoid m => (a -> m) -> Alt a -> m # foldMap' :: Monoid m => (a -> m) -> Alt a -> m # foldr :: (a -> b -> b) -> b -> Alt a -> b # foldr' :: (a -> b -> b) -> b -> Alt a -> b # foldl :: (b -> a -> b) -> b -> Alt a -> b # foldl' :: (b -> a -> b) -> b -> Alt a -> b # foldr1 :: (a -> a -> a) -> Alt a -> a # foldl1 :: (a -> a -> a) -> Alt a -> a # elem :: Eq a => a -> Alt a -> Bool # maximum :: Ord a => Alt a -> a # | |
Traversable Alt Source # | |
Functor Alt Source # | |
ExactP Alt Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Alt SrcSpanInfo -> EP () | |
AppFixity Alt Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> Alt SrcSpanInfo -> m (Alt SrcSpanInfo) Source # | |
Annotated Alt Source # | |
Data l => Data (Alt l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Alt l -> c (Alt l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Alt l) # dataTypeOf :: Alt l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Alt l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Alt l)) # gmapT :: (forall b. Data b => b -> b) -> Alt l -> Alt l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Alt l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Alt l -> r # gmapQ :: (forall d. Data d => d -> u) -> Alt l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Alt l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Alt l -> m (Alt l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt l -> m (Alt l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt l -> m (Alt l) # | |
Generic (Alt l) Source # | |
Show l => Show (Alt l) Source # | |
Eq l => Eq (Alt l) Source # | |
Ord l => Ord (Alt l) Source # | |
Pretty (Alt l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Alt l -> Doc | |
type Rep (Alt l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Alt l) = D1 ('MetaData "Alt" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "Alt" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rhs l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Binds l)))))) |
An xml attribute, which is a name-expression pair.
Instances
Foldable XAttr Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => XAttr m -> m # foldMap :: Monoid m => (a -> m) -> XAttr a -> m # foldMap' :: Monoid m => (a -> m) -> XAttr a -> m # foldr :: (a -> b -> b) -> b -> XAttr a -> b # foldr' :: (a -> b -> b) -> b -> XAttr a -> b # foldl :: (b -> a -> b) -> b -> XAttr a -> b # foldl' :: (b -> a -> b) -> b -> XAttr a -> b # foldr1 :: (a -> a -> a) -> XAttr a -> a # foldl1 :: (a -> a -> a) -> XAttr a -> a # elem :: Eq a => a -> XAttr a -> Bool # maximum :: Ord a => XAttr a -> a # minimum :: Ord a => XAttr a -> a # | |
Traversable XAttr Source # | |
Functor XAttr Source # | |
ExactP XAttr Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: XAttr SrcSpanInfo -> EP () | |
AppFixity XAttr Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> XAttr SrcSpanInfo -> m (XAttr SrcSpanInfo) Source # | |
Annotated XAttr Source # | |
Data l => Data (XAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XAttr l -> c (XAttr l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (XAttr l) # toConstr :: XAttr l -> Constr # dataTypeOf :: XAttr l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (XAttr l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (XAttr l)) # gmapT :: (forall b. Data b => b -> b) -> XAttr l -> XAttr l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XAttr l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XAttr l -> r # gmapQ :: (forall d. Data d => d -> u) -> XAttr l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> XAttr l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> XAttr l -> m (XAttr l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XAttr l -> m (XAttr l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XAttr l -> m (XAttr l) # | |
Generic (XAttr l) Source # | |
Show l => Show (XAttr l) Source # | |
Eq l => Eq (XAttr l) Source # | |
Ord l => Ord (XAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (XAttr l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> XAttr l -> Doc | |
type Rep (XAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (XAttr l) = D1 ('MetaData "XAttr" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "XAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l))))) |
Patterns
A pattern, to be matched against a value.
PVar l (Name l) | variable |
PLit l (Sign l) (Literal l) | literal constant |
PNPlusK l (Name l) Integer | n+k pattern |
PInfixApp l (Pat l) (QName l) (Pat l) | pattern with an infix data constructor |
PApp l (QName l) [Pat l] | data constructor and argument patterns |
PTuple l Boxed [Pat l] | tuple pattern |
PUnboxedSum l Int Int (Pat l) | unboxed sum |
PList l [Pat l] | list pattern |
PParen l (Pat l) | parenthesized pattern |
PRec l (QName l) [PatField l] | labelled pattern, record style |
PAsPat l (Name l) (Pat l) |
|
PWildCard l | wildcard pattern: |
PIrrPat l (Pat l) | irrefutable pattern: |
PatTypeSig l (Pat l) (Type l) | pattern with type signature |
PViewPat l (Exp l) (Pat l) | view patterns of the form |
PRPat l [RPat l] | regular list pattern |
PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l] | XML element pattern |
PXETag l (XName l) [PXAttr l] (Maybe (Pat l)) | XML singleton element pattern |
PXPcdata l String | XML PCDATA pattern |
PXPatTag l (Pat l) | XML embedded pattern |
PXRPats l [RPat l] | XML regular list pattern |
PSplice l (Splice l) | template haskell splice pattern |
PQuasiQuote l String String | quasi quote pattern: |
PBangPat l (Pat l) | strict (bang) pattern: |
Instances
An fpat in a labeled record pattern.
PFieldPat l (QName l) (Pat l) | ordinary label-pattern pair |
PFieldPun l (QName l) | record field pun |
PFieldWildcard l | record field wildcard |
Instances
An XML attribute in a pattern.
Instances
Foldable PXAttr Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => PXAttr m -> m # foldMap :: Monoid m => (a -> m) -> PXAttr a -> m # foldMap' :: Monoid m => (a -> m) -> PXAttr a -> m # foldr :: (a -> b -> b) -> b -> PXAttr a -> b # foldr' :: (a -> b -> b) -> b -> PXAttr a -> b # foldl :: (b -> a -> b) -> b -> PXAttr a -> b # foldl' :: (b -> a -> b) -> b -> PXAttr a -> b # foldr1 :: (a -> a -> a) -> PXAttr a -> a # foldl1 :: (a -> a -> a) -> PXAttr a -> a # elem :: Eq a => a -> PXAttr a -> Bool # maximum :: Ord a => PXAttr a -> a # minimum :: Ord a => PXAttr a -> a # | |
Traversable PXAttr Source # | |
Functor PXAttr Source # | |
ExactP PXAttr Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: PXAttr SrcSpanInfo -> EP () | |
AppFixity PXAttr Source # | |
Defined in Language.Haskell.Exts.Fixity applyFixities :: MonadFail m => [Fixity] -> PXAttr SrcSpanInfo -> m (PXAttr SrcSpanInfo) Source # | |
Annotated PXAttr Source # | |
Data l => Data (PXAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PXAttr l -> c (PXAttr l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PXAttr l) # toConstr :: PXAttr l -> Constr # dataTypeOf :: PXAttr l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (PXAttr l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PXAttr l)) # gmapT :: (forall b. Data b => b -> b) -> PXAttr l -> PXAttr l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PXAttr l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PXAttr l -> r # gmapQ :: (forall d. Data d => d -> u) -> PXAttr l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PXAttr l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PXAttr l -> m (PXAttr l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PXAttr l -> m (PXAttr l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PXAttr l -> m (PXAttr l) # | |
Generic (PXAttr l) Source # | |
Show l => Show (PXAttr l) Source # | |
Eq l => Eq (PXAttr l) Source # | |
Ord l => Ord (PXAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (PXAttr l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> PXAttr l -> Doc | |
type Rep (PXAttr l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (PXAttr l) = D1 ('MetaData "PXAttr" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "PXAttr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (XName l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pat l))))) |
An entity in a regular pattern.
RPOp l (RPat l) (RPatOp l) | operator pattern, e.g. pat* |
RPEither l (RPat l) (RPat l) | choice pattern, e.g. (1 | 2) |
RPSeq l [RPat l] | sequence pattern, e.g. (| 1, 2, 3 |) |
RPGuard l (Pat l) [Stmt l] | guarded pattern, e.g. (| p | p < 3 |) |
RPCAs l (Name l) (RPat l) | non-linear variable binding, e.g. (foo@:(1 | 2))* |
RPAs l (Name l) (RPat l) | linear variable binding, e.g. foo@(1 | 2) |
RPParen l (RPat l) | parenthesised pattern, e.g. (2*) |
RPPat l (Pat l) | an ordinary pattern |
Instances
A regular pattern operator.
RPStar l |
|
RPStarG l |
|
RPPlus l |
|
RPPlusG l |
|
RPOpt l |
|
RPOptG l |
|
Instances
Foldable RPatOp Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => RPatOp m -> m # foldMap :: Monoid m => (a -> m) -> RPatOp a -> m # foldMap' :: Monoid m => (a -> m) -> RPatOp a -> m # foldr :: (a -> b -> b) -> b -> RPatOp a -> b # foldr' :: (a -> b -> b) -> b -> RPatOp a -> b # foldl :: (b -> a -> b) -> b -> RPatOp a -> b # foldl' :: (b -> a -> b) -> b -> RPatOp a -> b # foldr1 :: (a -> a -> a) -> RPatOp a -> a # foldl1 :: (a -> a -> a) -> RPatOp a -> a # elem :: Eq a => a -> RPatOp a -> Bool # maximum :: Ord a => RPatOp a -> a # minimum :: Ord a => RPatOp a -> a # | |
Traversable RPatOp Source # | |
Functor RPatOp Source # | |
ExactP RPatOp Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: RPatOp SrcSpanInfo -> EP () | |
Annotated RPatOp Source # | |
Data l => Data (RPatOp l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RPatOp l -> c (RPatOp l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (RPatOp l) # toConstr :: RPatOp l -> Constr # dataTypeOf :: RPatOp l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (RPatOp l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (RPatOp l)) # gmapT :: (forall b. Data b => b -> b) -> RPatOp l -> RPatOp l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RPatOp l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RPatOp l -> r # gmapQ :: (forall d. Data d => d -> u) -> RPatOp l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RPatOp l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RPatOp l -> m (RPatOp l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RPatOp l -> m (RPatOp l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RPatOp l -> m (RPatOp l) # | |
Generic (RPatOp l) Source # | |
Show l => Show (RPatOp l) Source # | |
Eq l => Eq (RPatOp l) Source # | |
Ord l => Ord (RPatOp l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (RPatOp l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> RPatOp l -> Doc | |
type Rep (RPatOp l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (RPatOp l) = D1 ('MetaData "RPatOp" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) ((C1 ('MetaCons "RPStar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "RPStarG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RPPlus" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: (C1 ('MetaCons "RPPlusG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "RPOpt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RPOptG" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))) |
Literals
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.
Char l Char String | character literal |
String l String String | string literal |
Int l Integer String | integer literal |
Frac l Rational String | floating point literal |
PrimInt l Integer String | unboxed integer literal |
PrimWord l Integer String | unboxed word literal |
PrimFloat l Rational String | unboxed float literal |
PrimDouble l Rational String | unboxed double literal |
PrimChar l Char String | unboxed character literal |
PrimString l String String | unboxed string literal |
Instances
An indication whether a literal pattern has been negated or not.
Instances
Foldable Sign Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Sign m -> m # foldMap :: Monoid m => (a -> m) -> Sign a -> m # foldMap' :: Monoid m => (a -> m) -> Sign a -> m # foldr :: (a -> b -> b) -> b -> Sign a -> b # foldr' :: (a -> b -> b) -> b -> Sign a -> b # foldl :: (b -> a -> b) -> b -> Sign a -> b # foldl' :: (b -> a -> b) -> b -> Sign a -> b # foldr1 :: (a -> a -> a) -> Sign a -> a # foldl1 :: (a -> a -> a) -> Sign a -> a # elem :: Eq a => a -> Sign a -> Bool # maximum :: Ord a => Sign a -> a # | |
Traversable Sign Source # | |
Functor Sign Source # | |
ExactP Sign Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Sign SrcSpanInfo -> EP () | |
Annotated Sign Source # | |
Data l => Data (Sign l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sign l -> c (Sign l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sign l) # toConstr :: Sign l -> Constr # dataTypeOf :: Sign l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sign l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sign l)) # gmapT :: (forall b. Data b => b -> b) -> Sign l -> Sign l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign l -> r # gmapQ :: (forall d. Data d => d -> u) -> Sign l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign l -> m (Sign l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign l -> m (Sign l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign l -> m (Sign l) # | |
Generic (Sign l) Source # | |
Show l => Show (Sign l) Source # | |
Eq l => Eq (Sign l) Source # | |
Ord l => Ord (Sign l) Source # | |
type Rep (Sign l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Sign l) = D1 ('MetaData "Sign" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "Signless" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Negative" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) |
Variables, Constructors and Operators
data ModuleName l Source #
The name of a Haskell module.
Instances
This type is used to represent qualified variables, and also qualified constructors.
Qual l (ModuleName l) (Name l) | name qualified with a module name |
UnQual l (Name l) | unqualified local name |
Special l (SpecialCon l) | built-in constructor with special syntax |
Instances
This type is used to represent variables, and also constructors.
Instances
Foldable Name Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Name m -> m # foldMap :: Monoid m => (a -> m) -> Name a -> m # foldMap' :: Monoid m => (a -> m) -> Name a -> m # foldr :: (a -> b -> b) -> b -> Name a -> b # foldr' :: (a -> b -> b) -> b -> Name a -> b # foldl :: (b -> a -> b) -> b -> Name a -> b # foldl' :: (b -> a -> b) -> b -> Name a -> b # foldr1 :: (a -> a -> a) -> Name a -> a # foldl1 :: (a -> a -> a) -> Name a -> a # elem :: Eq a => a -> Name a -> Bool # maximum :: Ord a => Name a -> a # | |
Traversable Name Source # | |
Functor Name Source # | |
ExactP Name Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Name SrcSpanInfo -> EP () | |
Annotated Name Source # | |
Data l => Data (Name l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name l -> c (Name l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Name l) # toConstr :: Name l -> Constr # dataTypeOf :: Name l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Name l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Name l)) # gmapT :: (forall b. Data b => b -> b) -> Name l -> Name l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name l -> r # gmapQ :: (forall d. Data d => d -> u) -> Name l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name l -> m (Name l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name l -> m (Name l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name l -> m (Name l) # | |
Generic (Name l) Source # | |
Show l => Show (Name l) Source # | |
Eq l => Eq (Name l) Source # | |
Ord l => Ord (Name l) Source # | |
Pretty (Name l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Name l -> Doc | |
type Rep (Name l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Name l) = D1 ('MetaData "Name" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "Ident" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "Symbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) |
Possibly qualified infix operators (qop), appearing in expressions.
Instances
Foldable QOp Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => QOp m -> m # foldMap :: Monoid m => (a -> m) -> QOp a -> m # foldMap' :: Monoid m => (a -> m) -> QOp a -> m # foldr :: (a -> b -> b) -> b -> QOp a -> b # foldr' :: (a -> b -> b) -> b -> QOp a -> b # foldl :: (b -> a -> b) -> b -> QOp a -> b # foldl' :: (b -> a -> b) -> b -> QOp a -> b # foldr1 :: (a -> a -> a) -> QOp a -> a # foldl1 :: (a -> a -> a) -> QOp a -> a # elem :: Eq a => a -> QOp a -> Bool # maximum :: Ord a => QOp a -> a # | |
Traversable QOp Source # | |
Functor QOp Source # | |
ExactP QOp Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: QOp SrcSpanInfo -> EP () | |
Annotated QOp Source # | |
Data l => Data (QOp l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QOp l -> c (QOp l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (QOp l) # dataTypeOf :: QOp l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (QOp l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (QOp l)) # gmapT :: (forall b. Data b => b -> b) -> QOp l -> QOp l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QOp l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QOp l -> r # gmapQ :: (forall d. Data d => d -> u) -> QOp l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> QOp l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> QOp l -> m (QOp l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QOp l -> m (QOp l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QOp l -> m (QOp l) # | |
Generic (QOp l) Source # | |
Show l => Show (QOp l) Source # | |
Eq l => Eq (QOp l) Source # | |
Ord l => Ord (QOp l) Source # | |
Pretty (QOp l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> QOp l -> Doc | |
type Rep (QOp l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (QOp l) = D1 ('MetaData "QOp" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "QVarOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l))) :+: C1 ('MetaCons "QConOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName l)))) |
Operators appearing in infix
declarations are never qualified.
Instances
Foldable Op Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Op m -> m # foldMap :: Monoid m => (a -> m) -> Op a -> m # foldMap' :: Monoid m => (a -> m) -> Op a -> m # foldr :: (a -> b -> b) -> b -> Op a -> b # foldr' :: (a -> b -> b) -> b -> Op a -> b # foldl :: (b -> a -> b) -> b -> Op a -> b # foldl' :: (b -> a -> b) -> b -> Op a -> b # foldr1 :: (a -> a -> a) -> Op a -> a # foldl1 :: (a -> a -> a) -> Op a -> a # elem :: Eq a => a -> Op a -> Bool # maximum :: Ord a => Op a -> a # | |
Traversable Op Source # | |
Functor Op Source # | |
ExactP Op Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Op SrcSpanInfo -> EP () | |
Annotated Op Source # | |
Data l => Data (Op l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Op l -> c (Op l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Op l) # dataTypeOf :: Op l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Op l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Op l)) # gmapT :: (forall b. Data b => b -> b) -> Op l -> Op l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Op l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Op l -> r # gmapQ :: (forall d. Data d => d -> u) -> Op l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Op l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Op l -> m (Op l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Op l -> m (Op l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Op l -> m (Op l) # | |
Generic (Op l) Source # | |
Show l => Show (Op l) Source # | |
Eq l => Eq (Op l) Source # | |
Ord l => Ord (Op l) Source # | |
Pretty (Op l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Op l -> Doc | |
type Rep (Op l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Op l) = D1 ('MetaData "Op" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "VarOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "ConOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)))) |
data SpecialCon l Source #
Constructors with special syntax. These names are never qualified, and always refer to builtin type or data constructors.
UnitCon l | unit type and data constructor |
ListCon l | list type and data constructor |
FunCon l | function type constructor |
TupleCon l Boxed Int | n-ary tuple type and data
constructors |
Cons l | list data constructor |
UnboxedSingleCon l | unboxed singleton tuple constructor |
ExprHole l | An expression hole _ |
Instances
A name (cname) of a component of a class or data type in an import
or export specification.
Instances
Foldable CName Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => CName m -> m # foldMap :: Monoid m => (a -> m) -> CName a -> m # foldMap' :: Monoid m => (a -> m) -> CName a -> m # foldr :: (a -> b -> b) -> b -> CName a -> b # foldr' :: (a -> b -> b) -> b -> CName a -> b # foldl :: (b -> a -> b) -> b -> CName a -> b # foldl' :: (b -> a -> b) -> b -> CName a -> b # foldr1 :: (a -> a -> a) -> CName a -> a # foldl1 :: (a -> a -> a) -> CName a -> a # elem :: Eq a => a -> CName a -> Bool # maximum :: Ord a => CName a -> a # minimum :: Ord a => CName a -> a # | |
Traversable CName Source # | |
Functor CName Source # | |
ExactP CName Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: CName SrcSpanInfo -> EP () | |
Annotated CName Source # | |
Data l => Data (CName l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CName l -> c (CName l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CName l) # toConstr :: CName l -> Constr # dataTypeOf :: CName l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CName l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CName l)) # gmapT :: (forall b. Data b => b -> b) -> CName l -> CName l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CName l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CName l -> r # gmapQ :: (forall d. Data d => d -> u) -> CName l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CName l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CName l -> m (CName l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CName l -> m (CName l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CName l -> m (CName l) # | |
Generic (CName l) Source # | |
Show l => Show (CName l) Source # | |
Eq l => Eq (CName l) Source # | |
Ord l => Ord (CName l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (CName l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> CName l -> Doc | |
type Rep (CName l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (CName l) = D1 ('MetaData "CName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "VarName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "ConName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)))) |
An implicit parameter name.
Instances
Foldable IPName Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => IPName m -> m # foldMap :: Monoid m => (a -> m) -> IPName a -> m # foldMap' :: Monoid m => (a -> m) -> IPName a -> m # foldr :: (a -> b -> b) -> b -> IPName a -> b # foldr' :: (a -> b -> b) -> b -> IPName a -> b # foldl :: (b -> a -> b) -> b -> IPName a -> b # foldl' :: (b -> a -> b) -> b -> IPName a -> b # foldr1 :: (a -> a -> a) -> IPName a -> a # foldl1 :: (a -> a -> a) -> IPName a -> a # elem :: Eq a => a -> IPName a -> Bool # maximum :: Ord a => IPName a -> a # minimum :: Ord a => IPName a -> a # | |
Traversable IPName Source # | |
Functor IPName Source # | |
ExactP IPName Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: IPName SrcSpanInfo -> EP () | |
Annotated IPName Source # | |
Data l => Data (IPName l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPName l -> c (IPName l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IPName l) # toConstr :: IPName l -> Constr # dataTypeOf :: IPName l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IPName l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IPName l)) # gmapT :: (forall b. Data b => b -> b) -> IPName l -> IPName l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPName l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPName l -> r # gmapQ :: (forall d. Data d => d -> u) -> IPName l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IPName l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPName l -> m (IPName l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPName l -> m (IPName l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPName l -> m (IPName l) # | |
Generic (IPName l) Source # | |
Show l => Show (IPName l) Source # | |
Eq l => Eq (IPName l) Source # | |
Ord l => Ord (IPName l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (IPName l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> IPName l -> Doc | |
type Rep (IPName l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (IPName l) = D1 ('MetaData "IPName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "IPDup" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "IPLin" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) |
The name of an xml element or attribute, possibly qualified with a namespace.
Instances
Foldable XName Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => XName m -> m # foldMap :: Monoid m => (a -> m) -> XName a -> m # foldMap' :: Monoid m => (a -> m) -> XName a -> m # foldr :: (a -> b -> b) -> b -> XName a -> b # foldr' :: (a -> b -> b) -> b -> XName a -> b # foldl :: (b -> a -> b) -> b -> XName a -> b # foldl' :: (b -> a -> b) -> b -> XName a -> b # foldr1 :: (a -> a -> a) -> XName a -> a # foldl1 :: (a -> a -> a) -> XName a -> a # elem :: Eq a => a -> XName a -> Bool # maximum :: Ord a => XName a -> a # minimum :: Ord a => XName a -> a # | |
Traversable XName Source # | |
Functor XName Source # | |
ExactP XName Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: XName SrcSpanInfo -> EP () | |
Annotated XName Source # | |
Data l => Data (XName l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> XName l -> c (XName l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (XName l) # toConstr :: XName l -> Constr # dataTypeOf :: XName l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (XName l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (XName l)) # gmapT :: (forall b. Data b => b -> b) -> XName l -> XName l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> XName l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> XName l -> r # gmapQ :: (forall d. Data d => d -> u) -> XName l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> XName l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> XName l -> m (XName l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> XName l -> m (XName l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> XName l -> m (XName l) # | |
Generic (XName l) Source # | |
Show l => Show (XName l) Source # | |
Eq l => Eq (XName l) Source # | |
Ord l => Ord (XName l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (XName l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> XName l -> Doc | |
type Rep (XName l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (XName l) = D1 ('MetaData "XName" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "XName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "XDomName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) |
Nominal l | |
Representational l | |
Phantom l | |
RoleWildcard l |
Instances
Foldable Role Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Role m -> m # foldMap :: Monoid m => (a -> m) -> Role a -> m # foldMap' :: Monoid m => (a -> m) -> Role a -> m # foldr :: (a -> b -> b) -> b -> Role a -> b # foldr' :: (a -> b -> b) -> b -> Role a -> b # foldl :: (b -> a -> b) -> b -> Role a -> b # foldl' :: (b -> a -> b) -> b -> Role a -> b # foldr1 :: (a -> a -> a) -> Role a -> a # foldl1 :: (a -> a -> a) -> Role a -> a # elem :: Eq a => a -> Role a -> Bool # maximum :: Ord a => Role a -> a # | |
Traversable Role Source # | |
Functor Role Source # | |
ExactP Role Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Role SrcSpanInfo -> EP () | |
Annotated Role Source # | |
Data l => Data (Role l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Role l -> c (Role l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Role l) # toConstr :: Role l -> Constr # dataTypeOf :: Role l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Role l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Role l)) # gmapT :: (forall b. Data b => b -> b) -> Role l -> Role l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Role l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Role l -> r # gmapQ :: (forall d. Data d => d -> u) -> Role l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Role l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Role l -> m (Role l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Role l -> m (Role l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Role l -> m (Role l) # | |
Generic (Role l) Source # | |
Show l => Show (Role l) Source # | |
Eq l => Eq (Role l) Source # | |
Ord l => Ord (Role l) Source # | |
Pretty (Role l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Role l -> Doc | |
type Rep (Role l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Role l) = D1 ('MetaData "Role" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) ((C1 ('MetaCons "Nominal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Representational" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))) :+: (C1 ('MetaCons "Phantom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "RoleWildcard" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
data MaybePromotedName l Source #
PromotedName l (QName l) | |
UnpromotedName l (QName l) |
Instances
Template Haskell
A template haskell bracket expression.
ExpBracket l (Exp l) | expression bracket: |
TExpBracket l (Exp l) | typed expression bracket: |
PatBracket l (Pat l) | pattern bracket: |
TypeBracket l (Type l) | type bracket: |
DeclBracket l [Decl l] | declaration bracket: |
Instances
A template haskell splice expression
IdSplice l String | variable splice: |
TIdSplice l String | typed variable splice: |
ParenSplice l (Exp l) | parenthesised expression splice: |
TParenSplice l (Exp l) | parenthesised typed expression splice: |
Instances
FFI
The safety of a foreign function call.
Instances
Foldable Safety Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Safety m -> m # foldMap :: Monoid m => (a -> m) -> Safety a -> m # foldMap' :: Monoid m => (a -> m) -> Safety a -> m # foldr :: (a -> b -> b) -> b -> Safety a -> b # foldr' :: (a -> b -> b) -> b -> Safety a -> b # foldl :: (b -> a -> b) -> b -> Safety a -> b # foldl' :: (b -> a -> b) -> b -> Safety a -> b # foldr1 :: (a -> a -> a) -> Safety a -> a # foldl1 :: (a -> a -> a) -> Safety a -> a # elem :: Eq a => a -> Safety a -> Bool # maximum :: Ord a => Safety a -> a # minimum :: Ord a => Safety a -> a # | |
Traversable Safety Source # | |
Functor Safety Source # | |
ExactP Safety Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Safety SrcSpanInfo -> EP () | |
Annotated Safety Source # | |
Data l => Data (Safety l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Safety l -> c (Safety l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Safety l) # toConstr :: Safety l -> Constr # dataTypeOf :: Safety l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Safety l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Safety l)) # gmapT :: (forall b. Data b => b -> b) -> Safety l -> Safety l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Safety l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Safety l -> r # gmapQ :: (forall d. Data d => d -> u) -> Safety l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Safety l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Safety l -> m (Safety l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety l -> m (Safety l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Safety l -> m (Safety l) # | |
Generic (Safety l) Source # | |
Show l => Show (Safety l) Source # | |
Eq l => Eq (Safety l) Source # | |
Ord l => Ord (Safety l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Safety l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Safety l -> Doc | |
type Rep (Safety l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Safety l) = D1 ('MetaData "Safety" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "PlayRisky" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "PlaySafe" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "PlayInterruptible" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) |
The calling convention of a foreign function call.
Instances
Pragmas
data ModulePragma l Source #
A top level options pragma, preceding the module header.
LanguagePragma l [Name l] | LANGUAGE pragma |
OptionsPragma l (Maybe Tool) String | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC |
AnnModulePragma l (Annotation l) | ANN pragma with module scope |
Instances
Recognised tools for OPTIONS pragmas.
Instances
Data Tool Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tool -> c Tool # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tool # dataTypeOf :: Tool -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tool) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tool) # gmapT :: (forall b. Data b => b -> b) -> Tool -> Tool # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tool -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tool -> r # gmapQ :: (forall d. Data d => d -> u) -> Tool -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Tool -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tool -> m Tool # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tool -> m Tool # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tool -> m Tool # | |
Generic Tool Source # | |
Show Tool Source # | |
Eq Tool Source # | |
Ord Tool Source # | |
Pretty Tool Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Tool -> Doc | |
type Rep Tool Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep Tool = D1 ('MetaData "Tool" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) ((C1 ('MetaCons "GHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HUGS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NHC98" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "YHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HADDOCK" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnknownTool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) |
Recognised overlaps for overlap pragmas.
NoOverlap l | NO_OVERLAP pragma |
Overlap l | OVERLAP pragma |
Overlapping l | |
Overlaps l | |
Overlappable l | |
Incoherent l | INCOHERENT pragma |
Instances
Foldable Overlap Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Overlap m -> m # foldMap :: Monoid m => (a -> m) -> Overlap a -> m # foldMap' :: Monoid m => (a -> m) -> Overlap a -> m # foldr :: (a -> b -> b) -> b -> Overlap a -> b # foldr' :: (a -> b -> b) -> b -> Overlap a -> b # foldl :: (b -> a -> b) -> b -> Overlap a -> b # foldl' :: (b -> a -> b) -> b -> Overlap a -> b # foldr1 :: (a -> a -> a) -> Overlap a -> a # foldl1 :: (a -> a -> a) -> Overlap a -> a # elem :: Eq a => a -> Overlap a -> Bool # maximum :: Ord a => Overlap a -> a # minimum :: Ord a => Overlap a -> a # | |
Traversable Overlap Source # | |
Functor Overlap Source # | |
ExactP Overlap Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Overlap SrcSpanInfo -> EP () | |
Annotated Overlap Source # | |
Data l => Data (Overlap l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Overlap l -> c (Overlap l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Overlap l) # toConstr :: Overlap l -> Constr # dataTypeOf :: Overlap l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Overlap l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Overlap l)) # gmapT :: (forall b. Data b => b -> b) -> Overlap l -> Overlap l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Overlap l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Overlap l -> r # gmapQ :: (forall d. Data d => d -> u) -> Overlap l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Overlap l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Overlap l -> m (Overlap l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlap l -> m (Overlap l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlap l -> m (Overlap l) # | |
Generic (Overlap l) Source # | |
Show l => Show (Overlap l) Source # | |
Eq l => Eq (Overlap l) Source # | |
Ord l => Ord (Overlap l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (Overlap l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Overlap l -> Doc | |
type Rep (Overlap l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Overlap l) = D1 ('MetaData "Overlap" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) ((C1 ('MetaCons "NoOverlap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "Overlap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Overlapping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)))) :+: (C1 ('MetaCons "Overlaps" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: (C1 ('MetaCons "Overlappable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l)) :+: C1 ('MetaCons "Incoherent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l))))) |
The body of a RULES pragma.
Instances
Foldable Rule Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => Rule m -> m # foldMap :: Monoid m => (a -> m) -> Rule a -> m # foldMap' :: Monoid m => (a -> m) -> Rule a -> m # foldr :: (a -> b -> b) -> b -> Rule a -> b # foldr' :: (a -> b -> b) -> b -> Rule a -> b # foldl :: (b -> a -> b) -> b -> Rule a -> b # foldl' :: (b -> a -> b) -> b -> Rule a -> b # foldr1 :: (a -> a -> a) -> Rule a -> a # foldl1 :: (a -> a -> a) -> Rule a -> a # elem :: Eq a => a -> Rule a -> Bool # maximum :: Ord a => Rule a -> a # | |
Traversable Rule Source # | |
Functor Rule Source # | |
ExactP Rule Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: Rule SrcSpanInfo -> EP () | |
Annotated Rule Source # | |
Data l => Data (Rule l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rule l -> c (Rule l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rule l) # toConstr :: Rule l -> Constr # dataTypeOf :: Rule l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rule l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rule l)) # gmapT :: (forall b. Data b => b -> b) -> Rule l -> Rule l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rule l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rule l -> r # gmapQ :: (forall d. Data d => d -> u) -> Rule l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Rule l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rule l -> m (Rule l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rule l -> m (Rule l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rule l -> m (Rule l) # | |
Generic (Rule l) Source # | |
Show l => Show (Rule l) Source # | |
Eq l => Eq (Rule l) Source # | |
Ord l => Ord (Rule l) Source # | |
Pretty (Rule l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> Rule l -> Doc | |
type Rep (Rule l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (Rule l) = D1 ('MetaData "Rule" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "Rule" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Activation l))))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [RuleVar l])) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Exp l)))))) |
Variables used in a RULES pragma, optionally annotated with types
RuleVar l (Name l) | |
TypedRuleVar l (Name l) (Type l) |
Instances
Foldable RuleVar Source # | |
Defined in Language.Haskell.Exts.Syntax fold :: Monoid m => RuleVar m -> m # foldMap :: Monoid m => (a -> m) -> RuleVar a -> m # foldMap' :: Monoid m => (a -> m) -> RuleVar a -> m # foldr :: (a -> b -> b) -> b -> RuleVar a -> b # foldr' :: (a -> b -> b) -> b -> RuleVar a -> b # foldl :: (b -> a -> b) -> b -> RuleVar a -> b # foldl' :: (b -> a -> b) -> b -> RuleVar a -> b # foldr1 :: (a -> a -> a) -> RuleVar a -> a # foldl1 :: (a -> a -> a) -> RuleVar a -> a # elem :: Eq a => a -> RuleVar a -> Bool # maximum :: Ord a => RuleVar a -> a # minimum :: Ord a => RuleVar a -> a # | |
Traversable RuleVar Source # | |
Functor RuleVar Source # | |
ExactP RuleVar Source # | |
Defined in Language.Haskell.Exts.ExactPrint exactP :: RuleVar SrcSpanInfo -> EP () | |
Annotated RuleVar Source # | |
Data l => Data (RuleVar l) Source # | |
Defined in Language.Haskell.Exts.Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RuleVar l -> c (RuleVar l) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (RuleVar l) # toConstr :: RuleVar l -> Constr # dataTypeOf :: RuleVar l -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (RuleVar l)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (RuleVar l)) # gmapT :: (forall b. Data b => b -> b) -> RuleVar l -> RuleVar l # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RuleVar l -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RuleVar l -> r # gmapQ :: (forall d. Data d => d -> u) -> RuleVar l -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RuleVar l -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RuleVar l -> m (RuleVar l) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleVar l -> m (RuleVar l) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RuleVar l -> m (RuleVar l) # | |
Generic (RuleVar l) Source # | |
Show l => Show (RuleVar l) Source # | |
Eq l => Eq (RuleVar l) Source # | |
Ord l => Ord (RuleVar l) Source # | |
Defined in Language.Haskell.Exts.Syntax | |
Pretty (RuleVar l) Source # | |
Defined in Language.Haskell.Exts.Pretty prettyPrec :: Int -> RuleVar l -> Doc | |
type Rep (RuleVar l) Source # | |
Defined in Language.Haskell.Exts.Syntax type Rep (RuleVar l) = D1 ('MetaData "RuleVar" "Language.Haskell.Exts.Syntax" "haskell-src-exts-1.23.1-AH4Ip6Ctvxv6HZmnCjNeVF" 'False) (C1 ('MetaCons "RuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l))) :+: C1 ('MetaCons "TypedRuleVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 l) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name l)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Type l))))) |
data Activation l Source #
Activation clause of a RULES pragma.
ActiveFrom l Int | |
ActiveUntil l Int |
Instances
data Annotation l Source #
An annotation through an ANN pragma.
Ann l (Name l) (Exp l) | An annotation for a declared name. |
TypeAnn l (Name l) (Exp l) | An annotation for a declared type. |
ModuleAnn l (Exp l) | An annotation for the defining module. |
Instances
data BooleanFormula l Source #
A boolean formula for MINIMAL pragmas.
VarFormula l (Name l) | A variable. |
AndFormula l [BooleanFormula l] | And boolean formulas. |
OrFormula l [BooleanFormula l] | Or boolean formulas. |
ParenFormula l (BooleanFormula l) | Parenthesized boolean formulas. |
Instances
Builtin names
Modules
prelude_mod :: l -> ModuleName l Source #
main_mod :: l -> ModuleName l Source #
Main function of a program
Constructors
unit_con_name :: l -> QName l Source #
list_con_name :: l -> QName l Source #
list_cons_name :: l -> QName l Source #
unboxed_singleton_con_name :: l -> QName l Source #
unboxed_singleton_con :: l -> Exp l Source #
Special identifiers
qualified_name :: l -> Name l Source #
hiding_name :: l -> Name l Source #
minus_name :: l -> Name l Source #
export_name :: l -> Name l Source #
unsafe_name :: l -> Name l Source #
interruptible_name :: l -> Name l Source #
threadsafe_name :: l -> Name l Source #
stdcall_name :: l -> Name l Source #
ccall_name :: l -> Name l Source #
cplusplus_name :: l -> Name l Source #
dotnet_name :: l -> Name l Source #
javascript_name :: l -> Name l Source #
forall_name :: l -> Name l Source #
family_name :: l -> Name l Source #
stock_name :: l -> Name l Source #
anyclass_name :: l -> Name l Source #
Type constructors
unit_tycon_name :: l -> QName l Source #
fun_tycon_name :: l -> QName l Source #
list_tycon_name :: l -> QName l Source #
unboxed_singleton_tycon_name :: l -> QName l Source #
unit_tycon :: l -> Type l Source #
list_tycon :: l -> Type l Source #
unboxed_singleton_tycon :: l -> Type l Source #
Source coordinates
Annotated trees
class Functor ast => Annotated ast where Source #
AST nodes are annotated, and this class allows manipulation of the annotations.
Retrieve the annotation of an AST node.
amap :: (l -> l) -> ast l -> ast l Source #
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
.