Name:             comfort-array
Version:          0.0
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         http://hub.darcs.net/thielema/comfort-array/
Category:         Data Structures
Synopsis:         Arrays where the index type is a function of the shape type
Description:
  Arrays from the basic @array@ package are already very powerful
  compared with arrays in other languages.
  It provides arrays of any dimension in a type safe and uniform way
  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:
  .
  * @Range@:
    Allow dynamic choice of lower and upper array bounds
    such as in the 'Array's from the @array@ package.
    You can combine it with other shapes in other dimensions.
    It allows you to describe the bounds of each dimension individually.
  .
  * @Shifted@:
    Describe array bounds by start index and length.
    It is sometimes more natural to use these parameters.
    E.g. a non-negative index type like 'Word' cannot represent @-1@
    and thus cannot encode an empty range starting with index @0@.
  .
  * @Square@:
    An 2D array where both dimensions always have equal size.
  .
  * @ZeroBased, OneBased@:
    Arrays with fixed lower bound, either 0 or 1, respectively.
  .
  * Arrays with indices like 'LT', 'EQ', 'GT' and dummy shape.

Tested-With:      GHC==7.4.2, GHC==7.8.4, GHC==8.2.2
Cabal-Version:    >=1.6
Build-Type:       Simple

Source-Repository this
  Tag:         0.0
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/comfort-array/

Source-Repository head
  Type:        darcs
  Location:    http://hub.darcs.net/thielema/comfort-array/

Library
  Build-Depends:
    utility-ht >=0.0.10 && <0.1,
    base >=4.5 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Data.Array.Comfort.Shape
    Data.Array.Comfort.Storable
    Data.Array.Comfort.Storable.Internal