name:          iteratee
version:       0.8.7.4
synopsis:      Iteratee-based I/O
description:
  The Iteratee monad provides strict, safe, and functional I/O. In addition
  to pure Iteratee processors, file IO and combinator functions are provided.

  See @Data.Iteratee@ for full documentation.
category:      System, Data
author:        Oleg Kiselyov, John W. Lato
maintainer:    John W. Lato <jwlato@gmail.com>
license:       BSD3
license-file:  LICENSE
homepage:      http://www.tiresiaspress.us/haskell/iteratee
tested-with:   GHC == 7.0.4, GHC == 7.2.1
stability:     experimental

cabal-version: >= 1.6
build-type:    Simple

extra-source-files:
  CONTRIBUTORS
  README
  Examples/*.hs
  Examples/*.lhs
  Examples/*.txt
  tests/*.hs

flag buildTests
  description: Build test executables.
  default:     False

library
  hs-source-dirs:
    src

  if os(windows)
    cpp-options: -DUSE_WINDOWS
    exposed-modules:
      Data.Iteratee.IO.Windows
  else
    cpp-options: -DUSE_POSIX
    exposed-modules:
      Data.Iteratee.IO.Posix
      Data.Iteratee.IO.Fd
    build-depends:
      unix >= 2 && < 3

  build-depends:
    base                      >= 3       && < 6,
    ListLike                  >= 1.0     && < 4,
    MonadCatchIO-transformers >  0.2     && < 0.3,
    bytestring                >= 0.9     && < 0.10,
    containers                >= 0.2     && < 0.5,
    parallel                  >= 2       && < 4,
    transformers              >= 0.2     && < 0.3

  exposed-modules:
    Data.Nullable
    Data.NullPoint
    Data.Iteratee
    Data.Iteratee.Base
    Data.Iteratee.Base.ReadableChunk
    Data.Iteratee.Base.LooseMap
    Data.Iteratee.Binary
    Data.Iteratee.Char
    Data.Iteratee.Exception
    Data.Iteratee.IO
    Data.Iteratee.IO.Handle
    Data.Iteratee.IO.Interact
    Data.Iteratee.Iteratee
    Data.Iteratee.ListLike
    Data.Iteratee.Parallel

  other-modules:
    Data.Iteratee.IO.Base

  ghc-options:   -Wall -O2
  if impl(ghc >= 6.8)
    ghc-options: -fwarn-tabs

executable testIteratee
  hs-source-dirs:
    src
    tests

  main-is: testIteratee.hs

  other-modules:
    QCUtils

  if flag(buildTests)
    build-depends:
      base                       >= 3   && < 6,
      mtl                        >= 2   && < 3,
      QuickCheck                 >= 2   && < 3,
      test-framework             >= 0.3 && < 0.5,
      test-framework-quickcheck2 >= 0.2 && < 0.3
  else
    buildable:  False

source-repository head
  type:     darcs
  location: http://www.tiresiaspress.us/haskell/iteratee
