Fwd: [Haskell-cafe] What's the deal with Clean?

Tracy Wadleigh tracy.wadleigh at gmail.com
Tue Nov 3 17:16:26 EST 2009

> I had to implement a ring buffer, and I wanted the code using it to be
> written in Haskell.  I ended up implementing the buffer in C, and wrapping
> it in FFI from Haskell because implementing a destructive array in Haskell
> is kind of unwieldy to someone of my experience level.  In Clean, it looks
> like the uniqueness typing allows for destructive updates in a very
> controlled manner.

The ST monad provides this functionality. The
never-instantiated-in-a-visible-way state parameter of the ST monad provides
the "uniqueness" required for doing destructive updates in a pure way.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20091103/80cce38a/attachment.html

More information about the Haskell-Cafe mailing list