Module documentation for 18.104.22.168
Yarr is a new blazing fast dataflow framework (array library),
mainly intented to process
Storables (including all "primitive" numeric types)
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
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
Issue with slice-wise loading with unrolled filling function solved
To start with, read documentation in the root module:
- Changes in 22.214.171.124: This now compiles with ghc 7.8.3 but probably won’t compile with earlier versions of ghc. Let me know if this is a requirement and I will see what I can do. Even better submit a pull request.