Advertise ghci support in the package description
[ghc-heap-view.git] / ghc-heap-view.cabal
index 1bce7b7..b770423 100644 (file)
@@ -1,5 +1,5 @@
 Name:                ghc-heap-view
-Version:             0.1
+Version:             0.4.0.0
 Synopsis:            Extract the heap representation of Haskell values and thunks
 Description:
   This library provides functions to introspect the Haskell heap, for example
@@ -8,17 +8,46 @@ Description:
   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 = []
+  >let (x1,_bco,_bco)
+  >> length (take 100 (show x)) `seq` return () -- evaluate everything
+  >> :printHeap x
+  >let x1 = "A Value"
+  >    x16 = True : False : x16
+  >let (x1,x1,x16)
+  .
+  You can change the maximum recursion depth using @:setPrintHeapDepth@:
+  .
+  >> :setPrintHeapDepth 3
+  >> :printHeap x
+  >let x1 = C# 'A' : ... : ...
+  >let (x1,x1,True : ... : ...)
+  .
+  If the view is impaired by blackholes (written @_bh@), running
+  'System.Mem.perfromGC' usually helps.
+  .
   The work on this package has been supported by the Deutsche Telekom Stiftung
-  <http://telekom-stiftung.de>.
+  (<http://telekom-stiftung.de>).
 License:             BSD3
 License-file:        LICENSE
-Author:              Joachim Breitner
+Author:              Joachim Breitner, Dennis Felsing
 Maintainer:          Joachim Breitner <mail@joachim-breitner.de>
 Copyright:           2012 Joachim Breitner
 Category:            Debug, GHC
-Build-type:          Simple
-Cabal-version:       >=1.6
+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)
@@ -26,10 +55,12 @@ Flag prim-supports-any
 
 Library
   Exposed-modules: GHC.HeapView 
+  Default-Language:    Haskell2010
   Build-depends:
-    base == 4.5.*,
-    ghc,
-    ghc-prim
+    base >= 4.5 && < 4.7,
+    containers,
+    transformers,
+    ghc
   C-Sources: cbits/HeapView.c cbits/HeapViewPrim.cmm
   Hs-source-dirs: src/
   Ghc-options: -Wall
@@ -39,5 +70,4 @@ Library
   
 source-repository head
   type:     darcs
-  location: http://darcs.nomeata.de/darcswatch/
-
+  location: http://darcs.nomeata.de/ghc-heap-view/