packages feed

lazyio-0.1.0.4: lazyio.cabal

Name:             lazyio
Version:          0.1.0.4
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         http://www.haskell.org/haskellwiki/Lazy_IO
Category:         Monads, Control
Synopsis:         Run IO actions lazily while respecting their order
Description:
  Run IO actions lazily while respecting their order.
  Running a value of the LazyIO monad in the IO monad is like starting a thread
  which is however driven by its output.
  That is, the LazyIO action is only executed as far as necessary
  in order to provide the required data.
  .
  The package may help you to avoid stack overflows in @mapM@.
  Say you have
  .
  > mapM f xs
  .
  where @xs@ is a long list. When run, you may encounter a stack overflow.
  To prevent it, write instead:
  .
  > import qualified System.IO.Lazy as LazyIO
  >
  > LazyIO.run $ mapM (LazyIO.interleave . f) xs
  .
  The stack overflow is gone.
Tested-With:       GHC==6.8.2, GHC==6.12.1
Tested-With:       GHC==7.4.1, GHC==7.6.3
Cabal-Version:     >=1.6
Build-Type:        Simple
Extra-Source-Files:
  CHANGES

Source-Repository head
  type:     darcs
  location: http://code.haskell.org/~thielema/lazyio/

Source-Repository this
  type:     darcs
  location: http://code.haskell.org/~thielema/lazyio/
  tag:      0.1.0.4

Flag splitBase
  description: Choose the new smaller, split-up base package.

Flag buildTests
  description: Build test executables
  default:     False

Library
  Build-Depends:
    unsafe >=0.0 && <0.1,
    transformers >=0.2 && <0.6
  If flag(splitBase)
    Build-Depends: base >=2 && <5
  Else
    Build-Depends:
      special-functors >=1.0 && <1.1,
      base >=1.0 && <2

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    System.IO.Lazy
  Other-Modules:
    Data.ApplicativeChain
    System.IO.Lazy.Applicative


Executable       test
  If !flag(buildTests)
    Buildable:         False

  GHC-Options:      -Wall
  Hs-source-dirs:   src
  Main-Is:          Test/Main.hs