
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 :). Cheers, Alexey P.S. Please cc me, I am not subscribed.

Alexey Rodriguez Yakushev
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
participants (2)
-
Alexey Rodriguez Yakushev
-
Malcolm Wallace