name: loops version: 0.2.0.0 synopsis: Fast imperative-style loops description: @loops@ is a library for fast, imperative-style loops with a clean syntax. . Features . * Fast, imperative-style loops with a clean syntax. Bind (`>>=`) nests loops, so in `do`-notation, each subsequent line is nested inside loops that appear above it. . * Iteration over common data structures, like lists and vectors. . * Robust performance because there is no reliance on fusion. . * NEW! Loop-unrolling to arbitrary depth. Unrollable loop combinators are provided in `Control.Monad.Loop.Unroll`. (The simple, "rolled" interface is still provided in `Control.Monad.Loop`.) The unrolling depth set at the call site at compile time. My benchmarks show that folding over unrolled loops is up to 25% faster than folding over unboxed vectors! . For best performance, please compile your code with @-O2@. You should also use GHC's LLVM backend if possible; it generally produces faster executables. license: BSD3 license-file: LICENSE author: Thomas Tuegel maintainer: ttuegel@gmail.com bug-reports: https://github.com/ttuegel/loops/issues copyright: (c) Thomas Tuegel 2014 category: Control build-type: Simple extra-source-files: README.md, README.lhs cabal-version: >=1.10 tested-with: GHC == 7.8.2 source-repository head type: git location: https://github.com/ttuegel/loops.git library exposed-modules: Control.Monad.Loop Control.Monad.Loop.Unroll Control.Monad.Loop.ForEach Control.Monad.Loop.Internal build-depends: base >=4.6 && <5, primitive >=0.5 && <1, transformers >=0.3 && <1, vector >=0.10 && <1 ghc-options: -Wall hs-source-dirs: src default-language: Haskell2010 test-suite tests type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Test.hs other-modules: Test.Sum build-depends: base >=4.6 && <5, loops, tasty >=0.8 && <1, tasty-quickcheck >=0.8 && <1 ghc-options: -Wall default-language: Haskell2010 benchmark benchs type: exitcode-stdio-1.0 hs-source-dirs: bench main-is: Bench.hs build-depends: base >=4.6 && <5, criterion >=0.8 && <1, loops, transformers >=0.3 && <1, vector >=0.10 && <1 ghc-options: -Wall default-language: Haskell2010