The yarr package
Yarr is a new blazing fast dataflow framework (array library), mainly intented to process Storables (including all "primitive" numeric types) and fixed-vectors of them, for example coordinates, color components, complex numbers.
Yarr framework is inspired by repa library and inherits its features, including shape-polymorphism and auto-parallelism. Additionaly, the framework is polymorphic over type and arity of fixed-size vectors and supports neat flow operations over them. For example, you can convert colored image to greyscale like this:
let greyImage = zipElems (\r g b -> 0.21 * r + 0.71 * g + 0.07 * b) image
The library is considerably faster than repa. See benchmark results: https://github.com/leventov/yarr/blob/master/tests/bench-results.md
Shortcoming by design: lack of pure indexing interface.
Changes in version 0.9.2:
Safe folds -- see Data.Yarr.Fold
Issue with slice-wise loading with unrolled filling function solved
To start with, read documentation in the root module: Data.Yarr.
- Yarr!
Properties
| Versions | 0.9.1, 0.9.2, 1.2.3, 1.3.1 |
|---|---|
| Dependencies | base (4.6.*), deepseq (1.3.*), fixed-vector (0.1.2.1), ghc-prim (0.3.*), missing-foreign (0.1.1), primitive (≥0.2), template-haskell (2.8.*) |
| License | MIT |
| Author | Roman Leventov |
| Maintainer | Roman Leventov <leventov@ya.ru> |
| Category | Data Structures, Data Flow, Graphics |
| Bug tracker | https://github.com/leventov/yarr/issues |
| Source repository | git clone https://github.com/leventov/yarr.git |
| Upload date | Sun Feb 24 22:02:32 UTC 2013 |
| Uploaded by | RomanLeventov |
| Built on | ghc-7.6 |
Modules
Downloads
- yarr-0.9.2.tar.gz (Cabal source package)
- package description (included in the package)