Safe Haskell | None |
---|---|
Language | Haskell2010 |
UPattern matching on statement-level AST fragments for refactorings.
- pattern BindStmt :: forall dom. Pattern dom -> Expr dom -> Stmt dom
- pattern ExprStmt :: forall dom. Expr dom -> Stmt dom
- pattern LetStmt :: forall dom. LocalBindList dom -> Stmt dom
- pattern RecStmt :: forall dom. StmtList dom -> Stmt dom
- pattern DoKeyword :: forall dom. DoKind dom
- pattern MDoKeyword :: forall dom. DoKind dom
- pattern ListCompBody :: forall dom. CompStmtList dom -> ListCompBody dom
- pattern CompStmt :: forall dom. Stmt dom -> CompStmt dom
- pattern ThenStmt :: forall dom. Expr dom -> MaybeExpr dom -> CompStmt dom
- pattern GroupStmt :: forall dom. MaybeExpr dom -> MaybeExpr dom -> CompStmt dom
- pattern BindStmtCmd :: forall dom. Pattern dom -> Cmd dom -> CmdStmt dom
- pattern ExprStmtCmd :: forall dom. Cmd dom -> CmdStmt dom
- pattern LetStmtCmd :: forall dom. LocalBindList dom -> CmdStmt dom
- pattern RecStmtCmd :: forall dom. CmdStmtList dom -> CmdStmt dom
Do-notation
pattern BindStmt :: forall dom. Pattern dom -> Expr dom -> Stmt dom Source #
Binding statement ( x <- action
)
pattern LetStmt :: forall dom. LocalBindList dom -> Stmt dom Source #
Let statement ( let x = 3; y = 4
)
pattern RecStmt :: forall dom. StmtList dom -> Stmt dom Source #
A recursive binding statement with ( rec b <- f a c; c <- f b a
)
pattern MDoKeyword :: forall dom. DoKind dom Source #
List comprehensions
pattern ListCompBody :: forall dom. CompStmtList dom -> ListCompBody dom Source #
Body of a list comprehension: ( | x <- [1..10]
)
pattern CompStmt :: forall dom. Stmt dom -> CompStmt dom Source #
Normal monadic statement of a list comprehension
pattern ThenStmt :: forall dom. Expr dom -> MaybeExpr dom -> CompStmt dom Source #
Then statements by TransformListComp
( then sortWith by (x + y)
)
pattern GroupStmt :: forall dom. MaybeExpr dom -> MaybeExpr dom -> CompStmt dom Source #
Grouping statements by TransformListComp
( then group by (x + y) using groupWith
)
Commands
pattern BindStmtCmd :: forall dom. Pattern dom -> Cmd dom -> CmdStmt dom Source #
Binding statement command ( x <- action
)
pattern ExprStmtCmd :: forall dom. Cmd dom -> CmdStmt dom Source #
Non-binding statement command ( action
)
pattern LetStmtCmd :: forall dom. LocalBindList dom -> CmdStmt dom Source #
Let statement command ( let x = 3; y = 4
)
pattern RecStmtCmd :: forall dom. CmdStmtList dom -> CmdStmt dom Source #
A recursive binding statement command with ( rec b <- f a c; c <- f b a
)