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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to