Yet another array library.
Yarr is a new blazing fast dataflow framework (array library), mainly intented to process Storable
s (including all "primitive" numeric types) and fixed-vector
s 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.
To start with, read documentation in the root module: Data.Yarr
.
Yarr!