-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Methods for estimating the progress of functions
--
@package EstProgress
@version 0.2.0.0
-- | Progress estimates.
--
-- progress is good for functions the recursion trees of which are
-- very unbalanced. progressWithCalls is good for functions that
-- consume their input very long before they finish.
module Data.Progress
-- | Estimate progress based on thunks forced.
progress :: Data s => (s -> IO b) -> s -> IO b
-- | ...based on amount of file consumed.
progressWithFile :: (Handle -> IO b) -> Handle -> IO b
-- | ...based on number of recursive calls.
--
-- It returns a result equivalent to that of fix f x.
progressWithCalls :: ((t -> IO b) -> t -> IO b) -> t -> IO b
-- | Adapters for pure functions.
progress' :: Data s => (s -> b) -> s -> IO b
progressWithCalls' :: ((a -> c) -> a -> c) -> a -> IO c