Îõ³h&Øs     None #$Ùàñz lazy-cacheConfiguration for CacheSee System.Cache.Internal.Interface for all details on the fields. lazy-cache-The time that the value can be kept in cache. lazy-cache‚Type of the clock that is used by cache, by changing this parameter you can optimize your usage for the different use cases, see System.Clock.Seconds/ documentation for explanation of the choises. lazy-cache2The public interface for the cache values storage.:A storage is expected to provide the following properties: ‹If the function return succesfully then the result should be cached for a time period, All later calls should return the cached value.ëIn case of the concurrent actions an implementation should be the best effort to avoid reduntant calls lazy-cacheruns an action f that takes a parameter a: and stores successful result for time no longer than s. lazy-cache$removes the result cached for input a. lazy-cachefinds current time.  None #$ÏÙàñ'  lazy-cacheàCreates an implementation that does not cache anything. All actions runs as-is without locking.  None #$Ùàñõ  lazy-cacheËCreate new cache handle. Keeps priority queue from psqueues package inside. Properties:ûif multiple threads are running an IO action with the same input concurrently then only one will run, all the rest will wait for that action and will either return a value, or throw an exception depending on the the result of the first one»storage is cleared only during access, it will remove redundant work but may lead to the situation when cached values are stored in memory for a longer period that it was expectedpsqueue structure uses both  and Å constraints and is not vulnerable to the hash collision attacks.  None #$ÏÙàñ ã  lazy-cache4Creates new cache Handle. Keeps priotity queue from psqueues package inside. Properties:’if multiple threads are running an IO action with the same input concurrently then only one (with the best effort) will run, all the rest will wait for that action and will either return a value, or throw an exception depending on the the result of the first one»storage is cleared only during access, it will remove redundant work but may lead to the situation when cached values are stored in memory for a longer period that it was expectedpsqueue structure uses both  and Å constraints and is not vulnerable to the hash collision attacks.  None  #$ÏÙàña  lazy-cacheHelper to create a config.  lazy-cachePerform a request. lazy-cache?Wraps an IO action and returns a cached version of that method. lazy-cache?Set default cache implementation. This method perfers to use System.Cache.Impl.Ghc implementation unless GHC_CACHE_IMPL environment value has value MVAR in this case System.Cache.Impl.MVar is used.ÏThis method is useful as a default one because it prefers a faster and stabler implementation, but in case of emergency it allows to switch to the conservative implementation without program recompilation.N.B. this methos uses . lazy-cacheÄWrapper for creatio cached values. This wrapper does not expose raw Î, so it will not be possible to unexpectedly reuse between different methods.  cachedIO <-   config io   lazy-cache3Max time that the value can be cached (in seconds). lazy-cache*Type of the clock that the cache will use.  lazy-cacheInput parameters lazy-cacheFunction to cache. lazy-cacheResult. lazy-cacheValues storage lazy-cacheAction to cache lazy-cache A version that caches the result lazy-cacheCreate handle function lazy-cacheConfig for caching lazy-cacheAction to cache lazy-cacheVersion that caches the result        lazy-cache-0.2.0.0-inplaceSystem.Cache.Internal.InterfaceSystem.Cache.Impl.NoCacheSystem.Cache.Impl.MVarSystem.Cache.Impl.Ghc System.CachenewConfigconfigLongestAge configClockHandlerequestOrInternalremove getClockTimemkConfig requestOrcacheIOmkCachedhshbl-1.4.2.0-5cb44473Data.Hashable.ClassHashableghc-prim GHC.ClassesOrdbase GHC.IO.UnsafeunsafePerformIO