Re: Tracing a program that uses Control.Monad.ST

Malcolm Wallace <[email protected]> Mon, 15 May 2006 11:16:32 +0100
Newsgroups gmane.comp.lang.haskell.hat
Organization Dept of Computer Science, University of York
Message-ID <[email protected]>
Alexey Rodriguez Yakushev <[email protected]> wrote:

> Hi all, I am attempting to trace a program (Djinn) that uses library 
> modules that are not supported by Hat, such as Control.Monad.ST .
> 
> I was planning to add them to either add them to Hat before building
> or  directly to the program itself. However, I fear that this and
> other  modules were left out because there was some fundamental
> limitation of  Hat when dealing with these. I don't want to discover
> this after hours  of trying so I decided to ask here :).

No, there is no fundamental reason why Control.Monad.ST is not currently
traced.  For STRefs, just follow the scheme that is already used for
tracing IORefs.  The rank-2 type of runST might pose a rather
interesting question - I doubt whether hat-trans can generate the
correct transformed type for it.  However, you can probably write its
transformed type by hand, with some careful thought.

Regards,
    Malcolm