name: Hoed version: 0.3.0 synopsis: Lighweight algorithmic debugging. description: Hoed is a tracer and debugger for the programming language Haskell. You can trace a program by annotating functions in suspected modules and linking your program against standard profiling libraries. . To locate a defect with Hoed you annotate suspected functions and compile as usual. Then you run your program, information about the annotated functions is collected. Finally you connect to a debugging session using a webbrowser. . Hoed comes in two flavours: Hoed.Pure and Hoed.Stk. Hoed.Pure is recommended over Hoed.Stk: to debug your program with Hoed.Pure you can optimize your program and do not need to enable profiling. Hoed.Stk is Hoed as presented on PLDI 2015 and possibly has benefits over Hoed.Pure for debugging concurrent/parallel programs. homepage: http://maartenfaddegon.nl license: BSD3 license-file: LICENSE author: Maarten Faddegon maintainer: hoed@maartenfaddegon.nl copyright: (c) 2000 Andy Gill, (c) 2010 University of Kansas, (c) 2013-2015 Maarten Faddegon category: Debug, Trace build-type: Simple cabal-version: >=1.10 Extra-Source-Files: changelog, README.md flag buildExamples description: Build example executables. default: False flag validatePure description: Build test cases to validate Hoed-pure. default: False flag validateStk description: Build test cases to validate Hoed-stk. default: False flag validateGeneric description: Build test cases to validate deriving Observable for Generic types. default: False Source-repository head type: git location: git://github.com/MaartenFaddegon/Hoed.git library exposed-modules: Debug.Hoed.Stk , Debug.Hoed.Pure other-modules: Debug.Hoed.Stk.Observe , Debug.Hoed.Stk.Render , Debug.Hoed.Stk.DemoGUI , Debug.Hoed.Pure.Observe , Debug.Hoed.Pure.EventForest , Debug.Hoed.Pure.CompTree , Debug.Hoed.Pure.Render , Debug.Hoed.Pure.DemoGUI , Debug.Hoed.Pure.Prop build-depends: base >= 4 && <5 , template-haskell , array, containers , process , threepenny-gui == 0.6.* , filepath , libgraph == 1.5 , RBTree == 0.0.5 , regex-posix , mtl , directory default-language: Haskell2010 --------------------------------------------------------------------------- -- -- A list of example-programs that bind to a debugging session after the -- program terminates. After running 'cabal build' these are available to -- experiment with through 'sh run'. -- --------------------------------------------------------------------------- Executable hoed-examples-Foldl if flag(buildExamples) build-depends: base >= 4.8 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Foldl.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-HeadOnEmpty1 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: HeadOnEmpty.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-HeadOnEmpty2 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: HeadOnEmpty2.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 -- Executable hoed-examples-IOException -- build-depends: base >= 4 && < 5 -- , Hoed -- , threepenny-gui -- , filepath -- , hood -- main-is: IOException.hs -- hs-source-dirs: examples -- default-language: Haskell2010 -- ghc-options: -O0 Executable hoed-examples-IndirectRecursion if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: IndirectRecursion.lhs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Pretty if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , array else buildable: False main-is: Pretty.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Example1 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example1.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 -- Executable hoed-examples-Example2 -- build-depends: base >= 4 && < 5 -- , Hoed -- , threepenny-gui -- , filepath -- main-is: Example2.hs -- hs-source-dirs: examples -- default-language: Haskell2010 Executable hoed-examples-Example3 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example3.lhs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Example4 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example4.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Insort1 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Insort.lhs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Insort2 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Insort2.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-DoublingServer1 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-DoublingServer2 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer2.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-DoublingServer3 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer3.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-DoublingServer4 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer4.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-DoublingServer5 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer5.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Hashmap if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , array else buildable: False main-is: Hashmap.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-Responsibility if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , array else buildable: False main-is: Responsibility.lhs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-TightRope1 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: TightRope.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-TightRope2 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: TightRope2.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-TightRope3 if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: TightRope3.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 Executable hoed-examples-AskName if flag(buildExamples) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: AskName.hs hs-source-dirs: examples default-language: Haskell2010 ghc-options: -O0 --------------------------------------------------------------------------- -- -- A set of tests that instead of binding to a debugging session write the -- resulting computation graph to file. Reference files are included in -- this repository. To validate execute 'sh test'. -- --------------------------------------------------------------------------- Executable hoed-tests-Generic-r0 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: r0.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-t0 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: t0.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-r1 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: r1.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-t1 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: t1.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-r2 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: r2.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-t2 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: t2.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-r3 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: r3.hs hs-source-dirs: tests/Generic default-language: Haskell2010 Executable hoed-tests-Generic-t3 if flag(validateGeneric) build-depends: base >= 4 && < 5 , Hoed else buildable: False main-is: t3.hs hs-source-dirs: tests/Generic default-language: Haskell2010 --------------------------------------------------------------------------- Executable hoed-tests-Pure-t1 if flag(validatePure) build-depends: base >= 4 && < 5, Hoed else buildable: False main-is: t1.hs hs-source-dirs: tests/Pure default-language: Haskell2010 Executable hoed-tests-Pure-t2 if flag(validatePure) build-depends: base >= 4 && < 5, Hoed else buildable: False main-is: t2.hs hs-source-dirs: tests/Pure default-language: Haskell2010 Executable hoed-tests-Pure-t3 if flag(validatePure) build-depends: base >= 4 && < 5, Hoed else buildable: False main-is: t3.hs hs-source-dirs: tests/Pure default-language: Haskell2010 Executable hoed-tests-Pure-t4 if flag(validatePure) build-depends: base >= 4 && < 5, Hoed else buildable: False main-is: t4.hs hs-source-dirs: tests/Pure default-language: Haskell2010 --------------------------------------------------------------------------- Executable hoed-tests-Stk-DoublingServer if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath , network else buildable: False main-is: DoublingServer.hs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0 Executable hoed-tests-Stk-Insort2 if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Insort2.hs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0 Executable hoed-tests-Stk-Example1 if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example1.hs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0 Executable hoed-tests-Stk-Example3 if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example3.lhs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0 Executable hoed-tests-Stk-Example4 if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: Example4.hs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0 Executable hoed-tests-Stk-IndirectRecursion if flag(validateStk) build-depends: base >= 4 && < 5 , Hoed , threepenny-gui , filepath else buildable: False main-is: IndirectRecursion.lhs hs-source-dirs: tests/Stk default-language: Haskell2010 ghc-options: -O0