Hi!

Porting some modules that use GHC specific mutable data
structures from the 0.2x compiler series to the 2.x series,
I felt a bit unsure about the purpose of the various
interfaces.

In particular, the type `MutableVar' is defined in
`ArrBase', but the operations on `MutableVar' are defined in
`ST'.  As `ST' also reexports some of the type definitions
and functions from `ArrBase', I thought you maybe intended
to use `ArrBase' through `ST', but that failed for me,
because the function `boundsOfArray' (among others) is not
reexported by `ST'.

I also found Simon's note (from January)

  ToDo: review this interface; I'm avoiding gratuitous changes for now

in `ST', so I guess the interface is still in a kind of
intermediate state.

So my main question is: Is `ST' intended as a master
interface to `STBase' and `ArrBase'; if so, will it reexport
the rest of `ArrBase' in the future?

Manuel

Reply via email to