Pattern
Constructors
WildPat (XWildPat p)Wildcard Pattern The sole reason for a type on a WildPat is to support hsPatType :: Pat Id -> Type
VarPat (XVarPat p) (LIdP p)Variable Pattern
LazyPat (XLazyPat p) (LPat p)Lazy Pattern ^ - AnnKeywordId : AnnTilde
AsPat (XAsPat p) (LIdP p) (LPat p)As pattern ^ - AnnKeywordId :
GHC.Parser.Annotation.AnnAtParPat (XParPat p) (LPat p)Parenthesised pattern See Note [Parens in HsSyn] in GHC.Hs.Expr ^ - AnnKeywordId : AnnOpen
'(', AnnClose')'BangPat (XBangPat p) (LPat p)Bang pattern ^ - AnnKeywordId : AnnBang
ListPat (XListPat p) [LPat p]Syntactic List
AnnKeywordId : AnnOpen
'[', AnnClose']'
TuplePat (XTuplePat p) [LPat p] BoxityTuple sub-patterns
AnnKeywordId : AnnOpen
'('or'(#', AnnClose')'or'#)'
SumPat (XSumPat p) (LPat p) ConTag SumWidthAnonymous sum pattern
AnnKeywordId : AnnOpen
'(#', AnnClose'#)'
ConPatConstructor Pattern
pat_con_ext :: XConPat ppat_con :: XRec p (ConLikeP p)pat_args :: HsConPatDetails p
ViewPat (XViewPat p) (LHsExpr p) (LPat p)SplicePat (XSplicePat p) (HsUntypedSplice p)AnnKeywordId : AnnOpen
'$('AnnClose')'
LitPat (XLitPat p) (HsLit p)Literal Pattern Used for *non-overloaded* literal patterns: Int#, Char#, Int, Char, String, etc.
NPat (XNPat p) (XRec p (HsOverLit p)) (Maybe (SyntaxExpr p)) (SyntaxExpr p)Natural Pattern
AnnKeywordId : AnnVal
+
NPlusKPat (XNPlusKPat p) (LIdP p) (XRec p (HsOverLit p)) (HsOverLit p) (SyntaxExpr p) (SyntaxExpr p)n+k pattern
SigPat (XSigPat p) (LPat p) (HsPatSigType (NoGhcTc p))EmbTyPat (XEmbTyPat p) (HsTyPat (NoGhcTc p))InvisPat (XInvisPat p) (HsTyPat (NoGhcTc p))XPat !(XXPat p)
Instances7Data, Outputable, HasType, ToHie, Anno, …
Data (Pat GhcPs)Defined in ghc-9.10.3 · GHC.Hs.Instances · orphanData (Pat GhcRn)Defined in ghc-9.10.3 · GHC.Hs.Instances · orphanData (Pat GhcTc)Defined in ghc-9.10.3 · GHC.Hs.Instances · orphanOutputableBndrId p => Outputable (Pat (GhcPass p))Defined in ghc-9.10.3 · GHC.Hs.Pat · orphanHiePass p => HasType (LocatedA (Pat (GhcPass p)))Defined in ghc-9.10.3 · GHC.Iface.Ext.AstHiePass p => ToHie (PScoped (LocatedA (Pat (GhcPass p))))Defined in ghc-9.10.3 · GHC.Iface.Ext.Asttype Anno (Pat (GhcPass p)) = SrcSpanAnnADefined in ghc-9.10.3 · GHC.Hs.Pat · orphan