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