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:

The lapack package defines even more fancy shapes like tall rectangular matrices, triangular matrices and banded matrices.

Versions [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 (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.*), primitive (>=0.6.4 && <0.8), QuickCheck (==2.*), storable-record (>=0.0.1 && <0.1), 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>
Revised Revision 1 made by HenningThielemann at Sun May 19 13:48:50 UTC 2019
Category Data Structures
Home page http://hub.darcs.net/thielema/comfort-array/
Source repo this: darcs get http://hub.darcs.net/thielema/comfort-array/ --tag 0.3.1
head: darcs get http://hub.darcs.net/thielema/comfort-array/
Uploaded by HenningThielemann at Wed Feb 13 08:45:39 UTC 2019
Distributions NixOS:0.4, Stackage:0.4
Downloads 2718 total (212 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 2019-02-13 [all 1 reports]

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
setindex

Use efficient Set indexing from containers>=0.5.4

EnabledAutomatic

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

Downloads

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