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
In some cases 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 1.3 (ex. 0.9.3):
IFusion -- mapping/zipping with index
Rename: Work -> Walk
Changes in version 0.9.2:
Safe folds -- see Data.Yarr.Walk
Issue with slice-wise loading with unrolled filling function solved
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, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|Dependencies||base (>=4.6 && <4.8), deepseq (==1.3.*), fixed-vector (==0.7.*), ghc-prim (==0.3.*), missing-foreign (==0.1.1), primitive (>=0.2 && <0.6), template-haskell (>=2.8 && <2.10)|
|Maintainer||Dominic Steinitz <email@example.com>|
|Category||Data Structures, Data Flow, Graphics|
|Source repository||head: git clone https://github.com/leventov/yarr.git(yarr)|
|Uploaded||Mon Jan 5 11:33:10 UTC 2015 by DominicSteinitz|
|Downloads||642 total (115 in last 30 days)|
|Status||Docs uploaded by user [build log]|
Last success reported on 2015-01-05 [all 1 reports]
For package maintainers and hackage trustees