The yarr package

[Tags:library, mit]

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:

Shortcoming by design: lack of pure indexing interface.

Changes in version 0.9.2:

To start with, read documentation in the root module: Data.Yarr.



Versions 0.9.1, 0.9.2, 1.2.3, 1.3.1, 1.3.2, 1.3.3,,,,,,
Dependencies base (==4.6.*), deepseq (==1.3.*), fixed-vector (==, ghc-prim (==0.3.*), missing-foreign (==0.1.1), primitive (>=0.2), template-haskell (==2.8.*) [details]
License MIT
Author Roman Leventov
Maintainer Roman Leventov <>
Stability Unknown
Category Data Structures, Data Flow, Graphics
Bug tracker
Source repository head: git clone
Uploaded Sun Feb 24 22:02:32 UTC 2013 by RomanLeventov
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 1916 total (38 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees