Safe Haskell | None |
---|---|
Language | Haskell2010 |
Representation of Haskell patterns
- data Pattern dom stage
- = VarPat {
- _patternName :: Ann Name dom stage
- | LitPat {
- _patternLiteral :: Ann Literal dom stage
- | InfixPat {
- _patternLhs :: Ann Pattern dom stage
- _patternOperator :: Ann Operator dom stage
- _patternRhs :: Ann Pattern dom stage
- | AppPat {
- _patternName :: Ann Name dom stage
- _patternArgs :: AnnList Pattern dom stage
- | TuplePat {
- _patternElems :: AnnList Pattern dom stage
- | UnboxTuplePat {
- _patternElems :: AnnList Pattern dom stage
- | ListPat {
- _patternElems :: AnnList Pattern dom stage
- | ParArrPat {
- _patternElems :: AnnList Pattern dom stage
- | ParenPat {
- _patternInner :: Ann Pattern dom stage
- | RecPat {
- _patternName :: Ann Name dom stage
- _patternFields :: AnnList PatternField dom stage
- | AsPat {
- _patternName :: Ann Name dom stage
- _patternInner :: Ann Pattern dom stage
- | WildPat
- | IrrPat {
- _patternInner :: Ann Pattern dom stage
- | BangPat {
- _patternInner :: Ann Pattern dom stage
- | TypeSigPat {
- _patternInner :: Ann Pattern dom stage
- _patternType :: Ann Type dom stage
- | ViewPat {
- _patternExpr :: Ann Expr dom stage
- _patternInner :: Ann Pattern dom stage
- | SplicePat {
- _patternSplice :: Ann Splice dom stage
- | QuasiQuotePat {
- _patQQ :: Ann QuasiQuote dom stage
- | NPlusKPat {
- _patternName :: Ann Name dom stage
- _patternLit :: Ann Literal dom stage
- = VarPat {
- data PatternField dom stage
- = NormalFieldPattern {
- _fieldPatternName :: Ann Name dom stage
- _fieldPattern :: Ann Pattern dom stage
- | FieldPunPattern {
- _fieldPatternName :: Ann Name dom stage
- | FieldWildcardPattern {
- _fieldPatternWildcard :: Ann FieldWildcard dom stage
- = NormalFieldPattern {
Documentation
data Pattern dom stage Source #
Representation of patterns for pattern bindings
VarPat | Pattern name binding |
| |
LitPat | Literal pattern |
| |
InfixPat | Infix constructor application pattern ( |
| |
AppPat | Constructor application pattern ( |
| |
TuplePat | Tuple pattern ( |
| |
UnboxTuplePat | |
| |
ListPat | List pattern ( |
| |
ParArrPat | Parallel array pattern ( |
| |
ParenPat | Parenthesised patterns |
| |
RecPat | Record pattern ( |
| |
AsPat | As-pattern (explicit name binding) ( |
| |
WildPat | Wildcard pattern: ( |
IrrPat | Irrefutable pattern ( |
| |
BangPat | Bang pattern ( |
| |
TypeSigPat | Pattern with explicit type signature ( |
| |
ViewPat | View pattern ( |
| |
SplicePat | Splice patterns: |
| |
QuasiQuotePat | Quasi-quoted patterns: |
| |
NPlusKPat | |
|
data PatternField dom stage Source #
NormalFieldPattern | Named field pattern ( |
| |
FieldPunPattern | Named field pun ( |
| |
FieldWildcardPattern | Wildcard field pattern ( |
|
type Rep (PatternField dom stage) Source # | |