Name: ghc-heap-view Version: 0.4.1.0 Synopsis: Extract the heap representation of Haskell values and thunks Description: This library provides functions to introspect the Haskell heap, for example to investigate sharing and lazy evaluation. . It has been inspired by (and taken code from) the vacuum package and the GHCi debugger, but also allows to investiage thunks and other closures. . This package also provides a new GHCi-command, @:printHeap@, which allows you to inspect the current heap representation of a value, including sharing and cyclic references. To enable the command, you need to load the included ghci script or add it to @~/.ghci@, as explained by @cabal install@. Once it is set up, you can do this: . >> let value = "A Value" >> let x = (value, if head value == 'A' then value else "", cycle [True, False]) >> :printHeap x >let x1 = _bco > x21 = [] >in (x1,_bco,_bco) >> length (take 100 (show x)) `seq` return () -- evaluate everything >> :printHeap x >let x1 = "A Value" > x16 = True : False : x16 >in (x1,x1,x16) . You can change the maximum recursion depth using @:setPrintHeapDepth@: . >> :setPrintHeapDepth 3 >> :printHeap x >let x1 = C# 'A' : ... : ... >in (x1,x1,True : ... : ...) . If the view is impaired by blackholes (written @_bh@), running @System.Mem.performGC@ usually helps. . The work on this package has been supported by the Deutsche Telekom Stiftung (). License: BSD3 License-file: LICENSE Author: Joachim Breitner, Dennis Felsing Maintainer: Joachim Breitner Copyright: 2012 Joachim Breitner Category: Debug, GHC Build-type: Custom Cabal-version: >=1.14 Extra-source-files: Demo.hs data-files: ghci Flag prim-supports-any Description: The used GHC supports Any as an argument to foreign prim functions (GHC ticket #5931) Default: False Library Exposed-modules: GHC.HeapView Default-Language: Haskell2010 Build-depends: base >= 4.5 && < 4.7, containers, transformers, ghc C-Sources: cbits/HeapView.c cbits/HeapViewPrim.cmm Hs-source-dirs: src/ Ghc-options: -Wall if flag(prim-supports-any) cpp-options: -DPRIM_SUPPORTS_ANY source-repository head type: darcs location: http://darcs.nomeata.de/ghc-heap-view/