name: ghc-vis version: 0.3.1 license: BSD3 license-file: LICENSE category: GHC, Debug, Development cabal-version: >= 1.10 build-type: Custom author: Dennis Felsing maintainer: Dennis Felsing homepage: http://felsin9.de/nnis/ghc-vis copyright: Dennis Felsing 2012 synopsis: Live visualization of data structures in GHCi description: Visualize live data structures in GHCi. Evaluation is not forced and you can interact with the visualized data structures. This allows seeing Haskell's lazy evaluation and sharing in action. . To use this package add the accompanying @ghci@ file to your @.ghci@ like this: . > echo ":script $HOME/.cabal/share/ghc-vis-0.3.1/ghci" >> ~/.ghci . Now you can run ghci and experiment with @ghc-vis@. Start the visualization: . > $ ghci > GHCi, version 7.4.2: http://www.haskell.org/ghc/ :? for help > > :vis . A blank window should appear now. This is the visualization window. Add an expression to the visualization: . > > let a = [1..3] > > :view a > > let b = cycle a > > :view b > > :view "foo" ++ "bar" . . Functions are red, named objects are green and links to an already shown object are blue. . Notice how @a@ is referenced by @b@. . Evaluate an object that is shown in the visualization. You can also click on the object to evaluate it. . > > :eval t1 . . The first element of @b@ has been evaluated. We see that it's a reference to the value that's also referenced in a, as they share the same name "t0". . Switch between the list view and the graph view: . > > :switch . . When an object is updated by accessing it, you have to call @:update@ to refresh the visualization window. You can also click on an object to force an update: . > > a !! 2 > 3 > > :update . . Clear the visualization window, this also happens when you @:load@ or @:reload@ a source file: . > > :clear tested-with: GHC == 7.4.1, GHC == 7.4.2 data-files: ghci Extra-source-files: nonghci-test.hs flag graph Default: True Description: "Enable graph view using Graphviz" Library Exposed-modules: GHC.Vis Other-modules: GHC.Vis.Internal GHC.Vis.Types GHC.Vis.View.List GHC.Vis.View.Common Default-Language: Haskell2010 Build-depends: base == 4.*, mtl >= 2.0, fgl, deepseq, text, transformers, gtk == 0.12.*, cairo == 0.12.*, ghc-heap-view >= 0.3 Hs-source-dirs: src/ Ghc-options: -Wall -fno-warn-unused-do-bind if flag(graph) Other-modules: GHC.Vis.View.Graph.Parser GHC.Vis.View.Graph Build-depends: graphviz >= 2999.14.1.0, xdot >= 0.2 Cpp-options: -DGRAPH_VIEW --source-repository head -- type: darcs -- location: http://