-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Utilities for memoizing functions -- -- Utilities for memoizing functions @package memoization-utils @version 0.1.0.0 module Control.Memoization.Utils -- | Caches function return values so that when the same arguments are -- provided to a function, it's not called memoize :: Ord a => (a -> IO b) -> IO (a -> IO b) -- | Version of memoize that uses an LRU cache rather than always -- keeping results in memory memoizeLru :: Ord a => (Maybe Integer) -> (a -> IO b) -> IO (a -> IO b) -- | Version of memoize keeps results for a certain amount of time memoizeTime :: Ord a => Millisecond -> (a -> IO b) -> IO (a -> IO b) -- | Caches an IO actions result constMemoize :: IO b -> IO (IO b) -- | Caches an IO actions result for some amount of time constMemoizeTime :: Millisecond -> IO b -> IO (IO b)