PrimitiveArray: Efficient multidimensional arrays

[ bsd3, data, library ] [ Propose Tags ]

generalized Algebraic Dynamic Programming

This library provides efficient multidimensional arrays. Import Data.PrimitiveArray for indices, lenses, and arrays.

For generalized ADP users, the library also provides the machinary to fill tables in the correct order required by usual CYK-style parsers, or regular grammars (used e.g. in alignment algorithms). This means that unless your grammar requires a strange order in which parsing is to be performed, it will mostly "just work".

In general operations do not perform bounds-checking or other sanity-checking and are aimed towards efficiency as much as possible. Users (like ADPfusion) should perform their own bounds-checking, outside of code that performs "loop-like" operations.

[Skip to Readme]
Versions [faq],,,,,,,,,,,,,,,,,,,,,,,,,
Change log
Dependencies aeson (>=0.8), base (>=4.7 && <5.0), binary (>=0.7), bits (>=0.4), cereal (>=0.4), cereal-vector (>=0.2), containers, deepseq (>=1.3), DPutils (==0.1.0.*), hashable (>=1.2), lens (>=4.0), log-domain (>=0.10), mtl (>=2.0), OrderedBits (==0.0.1.*), primitive (>=0.5.4), QuickCheck (>=2.7), smallcheck (>=1.1), tasty (>=0.11), tasty-quickcheck (>=0.8), tasty-smallcheck (>=0.8), tasty-th (>=0.1), text (>=1.0), vector (>=0.11), vector-binary-instances (>=0.2), vector-th-unbox (>=0.2) [details]
License BSD-3-Clause
Copyright Christian Hoener zu Siederdissen, 2011-2019
Author Christian Hoener zu Siederdissen, 2011-2019
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ChristianHoener at Wed Mar 27 13:59:29 UTC 2019
Distributions NixOS:
Downloads 11152 total (313 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-03-27 [all 1 reports]


[Index] [Quick Jump]



Enable bounds checking and various other debug operations at the cost of a significant performance penalty.


Enable debug output, which spams the screen full of index information


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for PrimitiveArray-

[back to package description]

Build Status


generalized Algebraic Dynamic Programming Homepage

PrimitiveArray provides operations on multi-dimensional arrays. Internally, the representation is based on the vector library, while the multi-dimensional indexing follows repa.

Primitive arrays are designed to be used together with ADPfusion.


Christian Hoener zu Siederdissen
Leipzig University, Leipzig, Germany