dyepack- Programatically identify space leaks in your program.

Safe HaskellNone




dye :: forall a. (Generic a, GFrom a, All (All Top) (GCode a), GDatatypeInfo a) => a -> IO (Dyed a) Source #

Create a new Dyed that can be then used with checkDyed. dye will make a Weak pointer to each field in your type which can be used to check if any part of the data type is leaking at a later part of the program.

checkDyed :: Dyed a -> (forall x. String -> x -> IO ()) -> IO () Source #

Check if any part of Dyed is being retained. The callback is triggered when the object is retained.

newtype Dyed a Source #

Represents an object who's contents on the heap have been "dyed". The dyed contents have weak pointers, which can then be used to check if they are being retained.


Dyed [Part]