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