Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Functions to support the constant space traversal of a heap.
Synopsis
- traceFromM :: C m => TraceFunctions m -> [ClosurePtr] -> m DebugM ()
- data TraceFunctions m = TraceFunctions {
- papTrace :: !(GenPapPayload ClosurePtr -> m DebugM ())
- srtTrace :: !(GenSrtPayload ClosurePtr -> m DebugM ())
- stackTrace :: !(GenStackFrames SrtCont ClosurePtr -> m DebugM ())
- closTrace :: !(ClosurePtr -> SizedClosure -> m DebugM () -> m DebugM ())
- visitedVal :: !(ClosurePtr -> m DebugM ())
- conDescTrace :: !(ConstrDesc -> m DebugM ())
- justClosures :: C m => (ClosurePtr -> SizedClosure -> m DebugM () -> m DebugM ()) -> TraceFunctions m
Documentation
traceFromM :: C m => TraceFunctions m -> [ClosurePtr] -> m DebugM () Source #
A generic heap traversal function which will use a small amount of memory linear in the heap size. Using this function with appropiate accumulation functions you should be able to traverse quite big heaps in not a huge amount of memory.
data TraceFunctions m Source #
TraceFunctions | |
|
justClosures :: C m => (ClosurePtr -> SizedClosure -> m DebugM () -> m DebugM ()) -> TraceFunctions m Source #