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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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 0.0, 0.0.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,, 0.5.2
Change log
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 && <0.1), primitive (>=0.6.4 && <0.8), QuickCheck (>=2 && <3), semigroups (>=0.18.3 && <1.0), storable-record (>=0.0.1 && <0.1), storablevector (>=0.2 && <0.3), tagged (>=0.7 && <0.9), transformers (>=0.3 && <0.7), utility-ht (>=0.0.10 && <0.1) [details]
License BSD-3-Clause
Author Henning Thielemann <>
Maintainer Henning Thielemann <>
Category Data Structures
Home page
Source repo this: darcs get --tag 0.5.2
head: darcs get
Uploaded by HenningThielemann at 2022-06-02T07:21:43Z



Automatic Flags

Use efficient Set indexing from containers>=0.5.4


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