Copyright | (c) Edward Kmett and Dan Doel 2014 |
---|---|
License | BSD3 |
Maintainer | Dan Doel <dan.doel@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
- optimize :: Core Convention c -> Core Convention c
- rewriteCore :: forall m c cc. (Applicative m, MonadWriter Any m) => (forall d. Core cc d -> m (Core cc d)) -> Core cc c -> m (Core cc c)
- rewriteCoreDown :: forall m c cc. (Applicative m, MonadWriter Any m) => (forall d. Core cc d -> m (Core cc d)) -> Core cc c -> m (Core cc c)
Documentation
optimize :: Core Convention c -> Core Convention c Source
Optimize core expressions by alternating between the different optimization passes several times.
rewriteCore :: forall m c cc. (Applicative m, MonadWriter Any m) => (forall d. Core cc d -> m (Core cc d)) -> Core cc c -> m (Core cc c) Source
rewriteCoreDown :: forall m c cc. (Applicative m, MonadWriter Any m) => (forall d. Core cc d -> m (Core cc d)) -> Core cc c -> m (Core cc c) Source