yarr: 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.
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.
Yarr!
Modules
[Index]
- Data
- Data.Yarr
- Data.Yarr.Base
- Data.Yarr.Convolution
- Data.Yarr.Eval
- Data.Yarr.Flow
- Data.Yarr.Fusion
- IO
- Data.Yarr.IO.List
- Repr
- Data.Yarr.Repr.Boxed
- Data.Yarr.Repr.Delayed
- Data.Yarr.Repr.Foreign
- Data.Yarr.Repr.Separate
- Data.Yarr.Shape
- Utils
- Data.Yarr.Utils.FixedVector
- Data.Yarr.Utils.Fork
- Data.Yarr.Utils.Parallel
- Data.Yarr.Utils.Primitive
- Data.Yarr.Utils.Split
- Data.Yarr.Walk
- Data.Yarr
- Debug
- Debug.Yarr
Downloads
- yarr-1.3.3.3.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
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 |
---|---|
Change log | changelog.md |
Dependencies | base (>=4.6 && <4.8), deepseq (>=1.3 && <1.4), fixed-vector (>=0.7 && <0.8), ghc-prim (>=0.3 && <0.4), missing-foreign (==0.1.1), primitive (>=0.2 && <0.7), template-haskell (>=2.8 && <2.10) [details] |
Tested with | ghc ==7.8.3 |
License | MIT |
Author | Roman Leventov |
Maintainer | Dominic Steinitz <dominic@steinitz.org> |
Revised | Revision 1 made by DominicSteinitz at 2015-04-01T08:32:59Z |
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 DominicSteinitz at 2015-01-05T11:33:10Z |
Distributions | |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Downloads | 9456 total (2 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user [build log] Last success reported on 2015-01-05 [all 1 reports] |