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 llvm


Enable dumping intermediate / core files


Dump HTML for the core generated by GHC during compilation


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), containers, deepseq (>=1.3), DPutils (>=0.1.1 && <0.1.2), hashable (>=1.2), hashtables (>=1.2), lens (>=4.0), log-domain (>=0.10), mtl (>=2.0), OrderedBits (>=0.0.2 && <0.0.3), primitive (>=0.5.4), QuickCheck (>=2.7), smallcheck (>=1.1), text (>=1.0), unordered-containers (>=0.2), vector (>=0.11), vector-algorithms (>=0.8), vector-binary-instances (>=0.2), vector-th-unbox (>=0.2) [details]
License BSD-3-Clause
Copyright Christian Hoener zu Siederdissen, 2011-2021
Author Christian Hoener zu Siederdissen, 2011-2021
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ChristianHoener at 2021-06-04T11:53:35Z
Distributions NixOS:
Reverse Dependencies 28 direct, 8 indirect [details]
Downloads 24100 total (74 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 2021-06-04 [all 1 reports]

Readme for PrimitiveArray-

[back to package description]

github action: CI github action: hackage


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