Safe Haskell | None |
---|---|
Language | Haskell2010 |
Generation of pattern-level AST fragments for refactorings.
The bindings defined here create a the annotated version of the AST constructor with the same name.
For example, mkVarPat
creates the annotated version of the VarPat
AST constructor.
Synopsis
- mkVarPat :: Name -> Pattern
- mkLitPat :: Literal -> Pattern
- mkInfixAppPat :: Pattern -> Operator -> Pattern -> Pattern
- mkAppPat :: Name -> [Pattern] -> Pattern
- mkTuplePat :: [Pattern] -> Pattern
- mkUnboxTuplePat :: [Pattern] -> Pattern
- mkListPat :: [Pattern] -> Pattern
- mkParArrayPat :: [Pattern] -> Pattern
- mkParenPat :: Pattern -> Pattern
- mkRecPat :: Name -> [PatternField] -> Pattern
- mkAsPat :: Name -> Pattern -> Pattern
- mkWildPat :: Pattern
- mkIrrefutablePat :: Pattern -> Pattern
- mkBangPat :: Pattern -> Pattern
- mkTypeSigPat :: Pattern -> Type -> Pattern
- mkViewPat :: Expr -> Pattern -> Pattern
- mkSplicePat :: Splice -> Pattern
- mkQuasiQuotePat :: QuasiQuote -> Pattern
- mkPatternField :: Name -> Pattern -> PatternField
- mkFieldPunPattern :: Name -> PatternField
- mkFieldWildcardPattern :: PatternField
Documentation
mkInfixAppPat :: Pattern -> Operator -> Pattern -> Pattern Source #
Infix constructor application pattern ( a :+: b
)
mkTuplePat :: [Pattern] -> Pattern Source #
Tuple pattern ( (x,y)
)
mkUnboxTuplePat :: [Pattern] -> Pattern Source #
Unboxed tuple pattern ( (# x, y #)
)
mkParArrayPat :: [Pattern] -> Pattern Source #
Parallel array pattern ( [:1,2,a,x:]
)
mkParenPat :: Pattern -> Pattern Source #
Parenthesised patterns
mkIrrefutablePat :: Pattern -> Pattern Source #
Irrefutable pattern ( ~(x:_)
)
mkTypeSigPat :: Pattern -> Type -> Pattern Source #
Pattern with explicit type signature ( x :: Int
)
mkSplicePat :: Splice -> Pattern Source #
Splice patterns: $(generateX inp)
mkQuasiQuotePat :: QuasiQuote -> Pattern Source #
Quasi-quoted patterns: [| 1 + 2 |]
mkPatternField :: Name -> Pattern -> PatternField Source #
Named field pattern ( p = Point 3 2
)
mkFieldPunPattern :: Name -> PatternField Source #
Named field pun ( p
)
mkFieldWildcardPattern :: PatternField Source #
Wildcard field pattern ( ..
)