Safe Haskell | None |
---|---|
Language | Haskell2010 |
UPattern matching on pattern-level AST fragments for refactorings.
Synopsis
- pattern VarPat :: Name -> Pattern
- pattern LitPat :: Literal -> Pattern
- pattern InfixAppPat :: Pattern -> Operator -> Pattern -> Pattern
- pattern AppPat :: Name -> PatternList -> Pattern
- pattern TuplePat :: PatternList -> Pattern
- pattern UnboxTuplePat :: PatternList -> Pattern
- pattern ListPat :: PatternList -> Pattern
- pattern ParArrayPat :: PatternList -> Pattern
- pattern ParenPat :: Pattern -> Pattern
- pattern RecPat :: Name -> PatternFieldList -> Pattern
- pattern AsPat :: Name -> Pattern -> Pattern
- pattern WildPat :: Pattern
- pattern IrrefutablePat :: Pattern -> Pattern
- pattern BangPat :: Pattern -> Pattern
- pattern TypeSigPat :: Pattern -> Type -> Pattern
- pattern ViewPat :: Expr -> Pattern -> Pattern
- pattern SplicePat :: Splice -> Pattern
- pattern QuasiQuotePat :: QuasiQuote -> Pattern
- pattern NPlusKPat :: Name -> Literal -> Pattern
- pattern FieldPattern :: Name -> Pattern -> PatternField
- pattern FieldPunPattern :: Name -> PatternField
- pattern FieldWildcardPattern :: FieldWildcard -> PatternField
Documentation
pattern InfixAppPat :: Pattern -> Operator -> Pattern -> Pattern Source #
Infix constructor application pattern ( a :+: b
)
pattern AppPat :: Name -> PatternList -> Pattern Source #
Constructor application pattern ( Point x y
)
pattern TuplePat :: PatternList -> Pattern Source #
Tuple pattern ( (x,y)
)
pattern UnboxTuplePat :: PatternList -> Pattern Source #
Unboxed tuple pattern ( (# x, y #)
)
pattern ListPat :: PatternList -> Pattern Source #
List pattern ( [1,2,a,x]
)
pattern ParArrayPat :: PatternList -> Pattern Source #
Parallel array pattern ( [:1,2,a,x:]
)
pattern AsPat :: Name -> Pattern -> Pattern Source #
As-pattern (explicit name binding) ( ls@(hd:_)
)
pattern IrrefutablePat :: Pattern -> Pattern Source #
Irrefutable pattern ( ~(x:_)
)
pattern TypeSigPat :: Pattern -> Type -> Pattern Source #
Pattern with explicit type signature ( x :: Int
)
pattern QuasiQuotePat :: QuasiQuote -> Pattern Source #
Quasi-quoted patterns: [| 1 + 2 |]
pattern FieldPattern :: Name -> Pattern -> PatternField Source #
Named field pattern ( p = Point 3 2
)
pattern FieldPunPattern :: Name -> PatternField Source #
Named field pun ( p
)
pattern FieldWildcardPattern :: FieldWildcard -> PatternField Source #
Wildcard field pattern ( ..
)