[Haskell-cafe] ANNOUNCE: vector 0.1 (efficient arrays with lots of fusion)

Roman Leshchinskiy rl at cse.unsw.edu.au
Sat Jul 12 11:01:05 EDT 2008


Hi all,

the vector library will eventually provide fast, Int-indexed arrays with 
a powerful fusion framework. It's very immature at the moment (I haven't 
  tested most of the code) and implements just a few combinators but I 
thought releasing early wouldn't hurt. Use at your own risk and expect 
things to break horribly!

What it provides:

   * Boxed and unboxed arrays with a generic interface and a very basic
     set of combinators.

   * A powerful loop fusion framework. It is based on stream fusion but
     already goes beyond that (in particular, it can do some things
     in-place) and will be significantly extended in the future.

   * Extensibility.

   * Rudimentary documentation.

   * Bugs.

The code is based on the DPH libraries but is much more generic and a 
*lot* simpler. This has only been made possible by the tremendous 
progress in GHC's simplifier in the recent months/years (thanks Simon!). 
Consequently, you'll need a recent development version of GHC to build 
this, 6.8 won't work. It might be able to compile the library but you'll 
get terrible code, much worse than with lists.

If you want to try it out, compile with -O2 -fno-spec-constr-count and 
please don't forget to let me know about things that didn't work (or, 
miraculously, did).

Grab it from

     http://hackage.haskell.org/cgi-bin/hackage-scripts/package/vector

or

     darcs get http://darcs.haskell.org/vector

Again, special thanks to Simon for doing such a wonderful job with the 
optimiser.

Enjoy,

Roman


More information about the Haskell-Cafe mailing list