Hoed-0.3.0: Hoed.cabal
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