name: time-cache
version: 0.1
cabal-version: >=1.10
build-type: Simple
license: PublicDomain
license-file: COPYING
copyright: ♡ Copying is an act of love. Please copy, reuse and share.
maintainer: fr33domlover@riseup.net
homepage: http://rel4tion.org/projects/time-cache
bug-reports: mailto:fr33domlover@riseup.net
synopsis: Cache current time and formatted time text
description:
    Suppose you have an IO action which runs very frequently, and one of the
    things it does is getting the current @UTCTime@, possibly also formatting it
    into a String or Text. The action cares about the current minute, and doesn't
    care about seconds or milliseconds at all. Instead of reading and formatting
    the time many times, using this library you can keep a cache which updates
    every minute (or other interval) and allows your application to scale without
    time reading and formatting ever becoming a bottleneck.
    .
    There are 2 modules provided. I suggest you start with the monadic one,
    especially for simple usage, and switch to the other one if you need
    some custom solution.
    .
    The "Data.Time.Cache" module allows you to create a time caching action which
    returns time and a formatted time string. But instead of directly reading the
    time and running a formatter, it takes the values from a cache it
    periodically updates.
    .
    The "Control.Monad.Trans.Time" module provides a convenient monadic wrapper
    for the time cache.
    .
    If you need the time cache in multiple threads, you can create the time
    getter once and then pass to all the threads to share.
category: System, Time
author: fr33domlover
extra-source-files:
    AUTHORS
    ChangeLog
    COPYING
    INSTALL.md
    NEWS.md
    README.md

source-repository head
    type: darcs
    location: http://hub.darcs.net/fr33domlover/time-cache

library
    exposed-modules:
        Control.Monad.Trans.Time
        Data.Time.Cache
    build-depends:
        auto-update >=0.1.3,
        base >=4.8 && <5,
        text >=1.2.2.0,
        time >=1.5.0.1,
        time-units >=1.0.0,
        transformers >=0.4.2.0
    default-language: Haskell2010
    hs-source-dirs: src