Development Libraries and Tools
From HaskellWiki
(Difference between revisions)
(Added categories Libraries and Tools) |
(Added some testing frameworks) |
||
| (One intermediate revision not shown.) | |||
| Line 25: | Line 25: | ||
* [http://www.cs.chalmers.se/~rjmh/QuickCheck/ QuickCheck] - powerful testing framework where test cases are generated according to specific properties. | * [http://www.cs.chalmers.se/~rjmh/QuickCheck/ QuickCheck] - powerful testing framework where test cases are generated according to specific properties. | ||
* [http://hackage.haskell.org/package/HUnit-1.2.2.1 HUnit] - unit testing framework similar to JUnit. | * [http://hackage.haskell.org/package/HUnit-1.2.2.1 HUnit] - unit testing framework similar to JUnit. | ||
| + | * [http://hspec.github.com/ Hspec] - a framework for BDD similar to RSpec | ||
| + | * [http://batterseapower.github.com/test-framework/ test-framework] integrates both Hunit and quickCheck | ||
| + | * [http://hackage.haskell.org/package/HTF-0.10.0.5 The Haskell Test Framework, HTF] integrates both Hunit and quickCheck. | ||
== Dynamic Analysis Tools == | == Dynamic Analysis Tools == | ||
Revision as of 05:46, 12 December 2012
This page contains a list of useful tools and libraries used frequently in Haskell development, for things such as debugging, benchmarking, static analysis and testing.
Contents |
1 Debuggers
- ghci powerful and extensible debugger for GHC.
- hugs a haskell interpreter that includes debugging facilities.
2 Static Analysis Tools
Tools that perform some form of analysis on your code and provide useful feedback.
- HLint - Detect common style mistakes and redundant parts of syntax, improving code quality.
- Haskabelle - Convert haskell programs to isabelle theories.
- Catch - Detect common sources of runtime errors (currently difficult to compile)
- Sourcegraph - Haskell visualizer
Also, GHC when using the "-Wall" option provides a great deal of useful feedback.
3 Testing Frameworks
Libraries for testing Haskell.
- QuickCheck - powerful testing framework where test cases are generated according to specific properties.
- HUnit - unit testing framework similar to JUnit.
- Hspec - a framework for BDD similar to RSpec
- test-framework integrates both Hunit and quickCheck
- The Haskell Test Framework, HTF integrates both Hunit and quickCheck.
4 Dynamic Analysis Tools
Tools that analyse your program's run-time behavior to provide useful information, such as coverage or benchmarks.
- hat - analyse each evaluation step of your haskell program.
- hpc - check evaluation coverage of a haskell program, useful for determining test coverage.
- criterion - powerful benchmarking framework.
- threadscope - a new feature on the horizon which allows for benchmarking and visualization of multithreaded performance.
- ghc profiling tools - a powerful suite of profiling tools exist within GHC itself
5 Ancillary Tools
Tools that aid the development process, such as build tools, revision control systems, and similar, while not performing any interaction with the code itself.
