carray: A C-compatible array library.

[ bsd3, data, library ] [ Propose Tags ]

A C-compatible array library.

Provides both an immutable and mutable (in the IO monad) interface. Includes utilities for multi-dimensional arrays, slicing and norms. Memory is 16-byte aligned by default to enable use of SIMD instructions.

[Skip to Readme]
Versions [faq], 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5,,, 0.1.6,,,,,,,, (info)
Dependencies array, base (<4) [details]
License BSD-3-Clause
Author Jed Brown
Maintainer Jed Brown <>
Revised Revision 1 made by HerbertValerioRiedel at Tue Jul 18 07:44:28 UTC 2017
Category Data
Uploaded by JedBrown at Thu Feb 14 21:01:23 UTC 2008
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 9527 total (467 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




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

Readme for carray-

[back to package description]
This package provides immutable and mutable arrays that can be used in foreign
calls.  They are 16-byte aligned by default to facilitate use of SIMD
instructions.  To build this package, use:

  runhaskell Setup.lhs configure
  runhaskell Setup.lhs build
  runhaskell Setup.lhs haddock          (optional)
  runhaskell Setup.lhs install

Then run the tests:

  cd tests
  ghc -O2 --make tests.hs -o tests && ./tests  # checks QC properties 

In addition, there are versions two of shootout entries which use arrays.
Modified versions of these are in the tests directory, using various array
implementations.  To build, benchmark, and check that results match, run:


Exposed Modules:

Data.Array.CArray             Immutable interface, enhanced for foreign calls,
                              multiple dimensions, mapping, and norms.

Data.Array.IOCArray	      Mutable interface, enhanced for foreign calls

Data.Array.CArray.Base        Internals