Latest update Jan 3, 2003 (under construction!!)

Xarray: An Extended Array Library for Haskell

Xarray is an array library for Haskell. It provides some array operations of the type normally found in array languages like Fortran 90, but designed to take advantage of the generality of Haskell. Besides being backwards compatible with Haskell's standard arrays, a number of features are supported: general operations to select and transpose subarrays and to convert higher-dimensional arrays into arrays of arrays, in various directions, array folds, array masking operations, and some utility functions to convert lists of arrays into matrices and similar. The library is designed to make it easy to implement new array primitives, using the general ones provided by the library, by higher-order programming techniques. A closer description is found here.

Some add-on modules give the capability to "lift" operations over constructed data types in a systematic fashion. Together with Haskell's class system, this yields "elementwise intrinsics" overloading of arithmetic operations over arrays, and automatic promotion of numerical constants into arrays of appropriate size. Lifted versions of boolean and relational operators over arrays are also provided. Details are found here.

The Haxcel source code is found here. The current latest version is 2003-01-03. Older versions are found here.

Some very simple examples (this section needs a thorough reconditioning).

These pages are quite preliminary. We intend to put more information here in the near future.


Viewable With Any Browser

Björn Lisper
bjorn.lisper@mdh.se