comfort-array: Arrays where the index type is a function of the shape type

[ bsd3, data-structures, library ] [ Propose Tags ]

Arrays from the basic array package are already very powerful compared with arrays in other languages. They may have any number of dimensions, are type safe and defined in a uniform way using the Ix class with free choice of the lower bounds (0, 1, or whatever you like).

This package goes one step further: The shape and the index type are different, but the index type is a type function of the shape type. This offers much more flexibility and type safety.

Some examples are:

With our Array type you can perform

See also comfort-graph for a Graph data structure, with non-Int node identifiers and flexible edge types.

Versions [RSS] [faq] 0.0, 0.0.1, 0.0.1.1, 0.1, 0.1.1, 0.1.2, 0.2, 0.3, 0.3.1, 0.4, 0.4.1, 0.5, 0.5.1 (info)
Change log Changes.md
Dependencies base (>=4.5 && <5), containers (>=0.4 && <0.7), deepseq (>=1.3 && <1.5), guarded-allocation (>=0.0.1 && <0.1), non-empty (>=0.3.2 && <0.4), prelude-compat (==0.0.*), primitive (>=0.6.4 && <0.8), QuickCheck (==2.*), semigroups (>=0.18.3 && <1.0), storable-record (>=0.0.1 && <0.1), storablevector (==0.2.*), tagged (>=0.7 && <0.9), transformers (>=0.3 && <0.6), utility-ht (>=0.0.10 && <0.1) [details]
License BSD-3-Clause
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Data Structures
Home page https://hub.darcs.net/thielema/comfort-array/
Source repo this: darcs get https://hub.darcs.net/thielema/comfort-array/ --tag 0.5.1
head: darcs get https://hub.darcs.net/thielema/comfort-array/
Uploaded by HenningThielemann at 2021-08-07T09:44:29Z
Distributions LTSHaskell:0.4.1, NixOS:0.4.1, Stackage:0.5.1
Downloads 5037 total (48 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-08-07 [all 1 reports]

Modules

[Index] [Quick Jump]

Manual Flags

NameDescriptionDefault
Automatic Flags
NameDescriptionDefault
setindex

Use efficient Set indexing from containers>=0.5.4

Enabled

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates