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

Reply via email to