| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.AST.Patterns
Description
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
Constructors
| VarPat | Pattern name binding |
Fields
| |
| LitPat | Literal pattern |
Fields
| |
| InfixPat | Infix constructor application pattern ( |
Fields
| |
| AppPat | Constructor application pattern ( |
Fields
| |
| TuplePat | Tuple pattern ( |
Fields
| |
| UnboxTuplePat | |
Fields
| |
| ListPat | List pattern ( |
Fields
| |
| ParArrPat | Parallel array pattern ( |
Fields
| |
| ParenPat | Parenthesised patterns |
Fields
| |
| RecPat | Record pattern ( |
Fields
| |
| AsPat | As-pattern (explicit name binding) ( |
Fields
| |
| WildPat | Wildcard pattern: ( |
| IrrPat | Irrefutable pattern ( |
Fields
| |
| BangPat | Bang pattern ( |
Fields
| |
| TypeSigPat | Pattern with explicit type signature ( |
Fields
| |
| ViewPat | View pattern ( |
Fields
| |
| SplicePat | Splice patterns: |
Fields
| |
| QuasiQuotePat | Quasi-quoted patterns: |
Fields
| |
| NPlusKPat | |
Fields
| |
data PatternField dom stage Source #
Constructors
| NormalFieldPattern | Named field pattern ( |
Fields
| |
| FieldPunPattern | Named field pun ( |
Fields
| |
| FieldWildcardPattern | Wildcard field pattern ( |
Fields
| |
Instances
| type Rep (PatternField dom stage) Source # | |