loops-0.2.0.1: loops.cabal
name: loops
version: 0.2.0.1
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