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]


Manual Flags


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

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log
Dependencies aeson (>=0.8), base (>=4.7 && <5.0), binary (>=0.7), bits (>=0.4), cereal (>=0.4), cereal-vector (>=0.2), deepseq (>=1.3), DPutils (>=0.0.2 && <0.0.3), hashable (>=1.2), lens (>=4.0), log-domain (>=0.10), mtl (>=2.0), OrderedBits (>=0.0.1 && <0.0.2), primitive (>=0.5.4), QuickCheck (>=2.7), smallcheck (>=1.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-2018
Author Christian Hoener zu Siederdissen, 2011-2018
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ChristianHoener at 2018-12-11T23:30:08Z
Reverse Dependencies 28 direct, 8 indirect [details]
Downloads 24285 total (49 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-12-11 [all 1 reports]

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