yarr: Yet another array library

[ data-flow, data-structures, graphics, library, mit ] [ Propose Tags ]

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!

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.9.1, 0.9.2, 1.2.3, 1.3.1, 1.3.2, 1.3.3, 1.3.3.1, 1.3.3.2, 1.3.3.3, 1.4.0.0, 1.4.0.1, 1.4.0.2
Dependencies base (>=4.6 && <4.7), deepseq (>=1.3 && <1.4), fixed-vector (==0.1.2.1), ghc-prim (>=0.3 && <0.4), missing-foreign (==0.1.1), primitive (>=0.2), template-haskell (>=2.8 && <2.9) [details]
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 repo head: git clone https://github.com/leventov/yarr.git(yarr)
Uploaded by RomanLeventov at 2013-02-24T22:02:32Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 9166 total (28 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]