| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Traq.Utils.ASTRewriting
Synopsis
- class HasAst a where
- _ast :: Traversal' a a
- class HasStmt p where
- type StmtOf p
- _stmt :: Traversal' p (StmtOf p)
- rewriteAST :: (s ~ StmtOf p, HasAst s, HasStmt p) => (s -> Maybe s) -> p -> p
Documentation
Typeclass for the ast lens, which looks at immediate children
Methods
_ast :: Traversal' a a #
Instances
| HasAst (Stmt sizeT) # | |
Defined in Traq.CQPL.Syntax Methods _ast :: Traversal' (Stmt sizeT) (Stmt sizeT) # | |
| HasAst (Stmt ext) # | |
Defined in Traq.ProtoLang.Syntax Methods _ast :: Traversal' (Stmt ext) (Stmt ext) # | |
Typeclass for lifting underlying ASTs.
Methods
_stmt :: Traversal' p (StmtOf p) #
Instances
| HasStmt (CProcBody sizeT) # | |
Defined in Traq.CQPL.Syntax | |
| HasStmt (ProcDef sizeT) # | |
Defined in Traq.CQPL.Syntax | |
| HasStmt (Program sizeT) # | |
Defined in Traq.CQPL.Syntax | |
| HasStmt (Stmt sizeT) # | |
Defined in Traq.CQPL.Syntax | |
| HasStmt (FunBody ext) # | |
Defined in Traq.ProtoLang.Syntax | |
| HasStmt (FunDef ext) # | |
Defined in Traq.ProtoLang.Syntax | |
| HasStmt (NamedFunDef ext) # | |
Defined in Traq.ProtoLang.Syntax Associated Types type StmtOf (NamedFunDef ext) # Methods _stmt :: Traversal' (NamedFunDef ext) (StmtOf (NamedFunDef ext)) # | |
| HasStmt (Program ext) # | |
Defined in Traq.ProtoLang.Syntax | |
| HasStmt (Stmt ext) # | |
Defined in Traq.ProtoLang.Syntax | |