dyepack-0.1.0.0: Programatically identify space leaks in your program.

Safe HaskellNone
LanguageHaskell2010

Debug.Dyepack

Synopsis

Documentation

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.

Constructors

Dyed [Part]