Cabal revisions of ghc-heap-view-0.5
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: ghc-heap-view-Version: 0.5-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- (<http://telekom-stiftung.de>).-License: BSD3-License-file: LICENSE-Author: Joachim Breitner, Dennis Felsing-Maintainer: Joachim Breitner <mail@joachim-breitner.de>-Copyright: 2012-2013 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- Default-Language: Haskell2010- Exposed-modules:- GHC.HeapView - GHC.AssertNF - GHC.Disassembler- GHC.HeapView.Debug- Build-depends:- base >= 4.5 && < 4.7,- containers,- transformers,- template-haskell,- bytestring,- binary,- 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/+Name: ghc-heap-view +Version: 0.5 +x-revision: 1 +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 + (<http://telekom-stiftung.de>). +License: BSD3 +License-file: LICENSE +Author: Joachim Breitner, Dennis Felsing +Maintainer: Joachim Breitner <mail@joachim-breitner.de> +Copyright: 2012-2013 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 + Default-Language: Haskell2010 + Exposed-modules: + GHC.HeapView + GHC.AssertNF + GHC.Disassembler + GHC.HeapView.Debug + Build-depends: + base >= 4.5 && < 4.7, + containers, + transformers, + template-haskell, + bytestring >= 0.10, + binary, + 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/