ermine-0.6: Ermine

Copyright(c) Edward Kmett and Dan Doel 2014
LicenseBSD3
MaintainerDan Doel <dan.doel@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Ermine.Core.Optimizer

Description

 

Synopsis

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