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