packages feed

loop-0.1.0: loop.cabal

name:          loop
version:       0.1.0
license:       MIT
copyright:     2014 Niklas Hambüchen <mail@nh2.me>
author:        Niklas Hambüchen <mail@nh2.me>
maintainer:    Niklas Hambüchen <mail@nh2.me>
category:      Control
build-type:    Simple
stability:     experimental
tested-with:   GHC==7.6.3
cabal-version: >= 1.8
homepage:      https://github.com/nh2/loop
bug-reports:   https://github.com/nh2/loop/issues
synopsis:      Fast loops (for when GHC can't optimize forM_)
description:
  This package provides a convenient and fast alternative to the common
  `forM_ [1..n]` idiom, which in many cases GHC cannot fuse to efficient
  code.
  .
  See https://ghc.haskell.org/trac/ghc/ticket/8763.

source-repository head
  type:      git
  location:  git://github.com/nh2/loop.git


library
  exposed-modules:
    Control.Loop
    -- Internal
    Control.Loop.Internal
  hs-source-dirs:
    src
  build-depends:
      base                >= 4 && < 5
  ghc-options:
    -Wall -O2


test-suite tests
  type: exitcode-stdio-1.0
  hs-source-dirs:
    test
  main-is:
    Main.hs
  build-depends:
      base                >= 4 && < 5
    , loop
    , hspec               >= 1.3.0.1
    , mtl                 >= 2.1.2
  ghc-options:
    -Wall -O2


benchmark bench
  type: exitcode-stdio-1.0
  hs-source-dirs:
    bench
  main-is:
    Bench.hs
  build-depends:
      base                >= 4 && < 5
    , loop
    , criterion           >= 0.6.0.0
    , random              >= 1.0.1.1
    , vector              >= 0.10.9.1
  ghc-options:
    -Wall -O2


benchmark bench-traverse-w32
  type: exitcode-stdio-1.0
  hs-source-dirs:
    bench
  main-is:
    TraverseW32.hs
  build-depends:
      base                >= 4 && < 5
    , loop
    , criterion           >= 0.6.0.0
    , vector              >= 0.10.9.1
  ghc-options:
    -Wall -O2


benchmark bench-foldl-and-iorefs-are-slow
  type: exitcode-stdio-1.0
  hs-source-dirs:
    bench
  main-is:
    FoldlAndIORefAreSlow.hs
  build-depends:
      base                >= 4.6 && < 5
    , criterion           >= 0.6.0.0
    , mtl                 >= 2.1.2
    , vector              >= 0.10.9.1
  ghc-options:
    -Wall -O2