packages feed

time-out-0.2: time-out.cabal

name: time-out
version: 0.2
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://hub.darcs.net/fr33domlover/time-out
bug-reports: mailto:fr33domlover@riseup.net
synopsis: Timers, timeouts, alarms, monadic wrappers
description:
    This library provides several timer and timeout related tools:
    .
    * "Control.Timeout" - Execution of a computation with a time limit, aborting
    it if the limit is reached before the computation finishes. It is
    more-or-less a lifted version of "System.Timeout" from the @base@ package.
    It's good for single use, but it launches a temporary helper thread. If you
    want to time-limit actions continuously (e.g. if you're implementing a
    network protocol), you should probably use one of the other tools described
    below, since they use a single dedicated thread for all the timeouts.
    .
    * "Control.Timer" - Managing a timer running in a dedicated thread. The timer
    waits for an amount of time you specify, and then runs an action you
    specify. You can stop and restart it at any time.
    .
    * "Control.Alarm" - Managing an alarm, which is a timer whose action is to
    notify your thread when the specified amount of time passes.
    .
    * "Control.Monad.Trans.Timer" - A monad transformer for managing a timer
    .
    * "Control.Monad.Trans.Alarm" - A monad transformer for managing an alarm
    .
    * "Control.Monad.Trans.Timeout" - A monad transformer for running actions
    with timeouts, useful for e.g. network protocols where any send and receive
    can timeout
    .
    * "Control.Monad.Timeout.Class" - A monad typeclass for running actions with
    a time limit. "Control.Timeout" provides a simple trivial for IO (which can
    then be used with any @MonadIO@), and "Control.Monad.Trans.Timeout"
    provides a scalable instance.
category: Control, Monad, Time, Timeout
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-out

library
    exposed-modules:
        Control.Alarm
        Control.Monad.Timeout.Class
        Control.Monad.Trans.Alarm
        Control.Monad.Trans.Timeout
        Control.Monad.Trans.Timer
        Control.Timer
        Control.Timeout
    build-depends:
        base >=4.8 && <5,
        data-default-class >=0.0.1,
        exceptions >=0.8.2.1,
        time-interval >=0.1.1,
        time-units >=1.0.0,
        transformers >=0.4.2.0
    default-language: Haskell2010
    hs-source-dirs: src
    ghc-options: -Wall

test-suite test
    type: exitcode-stdio-1.0
    main-is: test.hs
    build-depends:
        base >=4.8.2.0,
        time-out >=0.2,
        time-units >=1.0.0,
        transformers >=0.4.2.0
    default-language: Haskell2010
    hs-source-dirs: test