| ||||||||||||
| ||||||||||||
| Description | ||||||||||||
Optimisation fuel is used to control the amount of work the optimiser does. Every optimisation step consumes a certain amount of fuel and stops when it runs out of fuel. This can be used e.g. to debug optimiser bugs: Run the optimiser with varying amount of fuel to find out the exact number of steps where a bug is introduced in the output. | ||||||||||||
| Documentation | ||||||||||||
| data OptimizationFuel | ||||||||||||
| canRewriteWithFuel :: OptimizationFuel -> Bool | ||||||||||||
| maybeRewriteWithFuel :: OptimizationFuel -> Maybe a -> Maybe a | ||||||||||||
| oneLessFuel :: OptimizationFuel -> OptimizationFuel | ||||||||||||
| data OptFuelState | ||||||||||||
| initOptFuelState :: IO OptFuelState | ||||||||||||
| tankFilledTo :: Int -> OptimizationFuel | ||||||||||||
| diffFuel :: OptimizationFuel -> OptimizationFuel -> Int | ||||||||||||
| type FuelConsumer a = OptimizationFuel -> (a, OptimizationFuel) | ||||||||||||
| class Monad m => FuelUsingMonad m where | ||||||||||||
| ||||||||||||
| data FuelState | ||||||||||||
| runFuelIO :: OptFuelState -> FuelMonad a -> IO a | ||||||||||||
| fuelConsumingPass :: String -> FuelConsumer a -> FuelMonad a | ||||||||||||
| data FuelMonad a | ||||||||||||
| liftUniq :: UniqSM x -> FuelMonad x | ||||||||||||
| lGraphOfGraph :: Graph m l -> FuelMonad (LGraph m l) | ||||||||||||
| Produced by Haddock version 2.6.0 |