Copyright | (C) 2012-2016 University of Twente 2021 QBayLogic B.V. |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
Safe Haskell | None |
Language | Haskell2010 |
Rewriting combinators and traversals
Synopsis
- allR :: forall m. Monad m => Transform m -> Transform m
- (!->) :: Rewrite m -> Rewrite m -> Rewrite m
- (>-!) :: Rewrite m -> Rewrite m -> Rewrite m
- (>-!->) :: Monad m => Transform m -> Transform m -> Transform m
- (>->) :: Monad m => Transform m -> Transform m -> Transform m
- bottomupR :: Monad m => Transform m -> Transform m
- repeatR :: Rewrite m -> Rewrite m
- topdownR :: Rewrite m -> Rewrite m
Documentation
Apply a transformation on the subtrees of an term
(!->) :: Rewrite m -> Rewrite m -> Rewrite m infixr 5 Source #
Only apply the second transformation if the first one succeeds.
(>-!) :: Rewrite m -> Rewrite m -> Rewrite m infixr 5 Source #
Only apply the second transformation if the first one fails.
(>-!->) :: Monad m => Transform m -> Transform m -> Transform m infixr 6 Source #
Apply two transformations in succession, and perform a deepseq in between.
(>->) :: Monad m => Transform m -> Transform m -> Transform m infixr 6 Source #
Apply two transformations in succession