[Haskell] Announce of Arrays & References library version 0.1

Bulat Ziganshin bulat.ziganshin at gmail.com
Thu Jun 1 15:59:58 EDT 2006


Good day, Haskellers!

i glad to present my new library that is compatible with Hugs 03,
Hugs 05 and GHC. the library features:

- Unboxed references in IO and ST monads, namely IOURef and STURef.
It is a direct replacement for widely used "fast unboxed variables"
modules, with interface modelled after the IORef/STRef interface and
support for all integral, floating point and pointer types plus Char
and Bool (see "Examples/URef.hs" for usage details).

- Monad-independent interfaces to boxed and unboxed references. This
allows to write algorithms that works with mutable state but still can
be executed both in IO and ST monads (look at "Examples/Universal.hs"
for a cool demonstration).

- Syntax sugar to make using of mutable objects easier (=:, +=, -=,
val, ref, uref). Mutable objects that can be used with this sugar
includes all sorts of references, mutable arrays and hash tables

The library also includes refactored implementation of Data.Array.* modules.
The main user-visible change comparing to original is the support for
dynamic arrays, i.e. arrays whose bounds may be changed at runtime
("Examples/Array/Dynamic.hs" shows various ways of their usage).
I also implemented long-awaited polymorphism for unboxed arrays.

The library can be downloaded as http://freearc.narod.ru/ArrayRef.tar.gz
Full documentation is at http://haskell.org/haskellwiki/Library/ArrayRef

I thanks Oleg Kiselyov who is pointed how to implement unboxed arrays better,
Simon Marlow who gives an idea of unboxed references, and John Meacham
and Jared Updike who helped me to implement dynamic arrays.

I hope that this library will become a part of the next GHC and Hugs
releases and may be even Haskell' std library, so i accept suggestions
on its further improvements. On the other side, i will be glad to pass
maintenance of the library, including it's darcs'izing, hackaging,
testing (especially performance testing) and documenting to someone's
other hands - volunteers welcome 

-- 
Best regards,
 Bulat                          mailto:Bulat.Ziganshin at gmail.com



More information about the Haskell mailing list