Difference between revisions of "DocTest"
m (fix wording issue)
|Line 13:||Line 13:|
Below is a small Haskell module. The module contains source code
Below is a small Haskell module. The module contains source code examples from an interactive Haskell sessiondemonstrate how the module is used.
Revision as of 08:10, 16 October 2010
What is DocTest
DocTest is available from Hackage. Install it, by typing:
$ cabal install doctest
Below is a small Haskell module. The module contains a source code comment with examples from an interactive Haskell session. The examples demonstrate how the module is supposed to be used.
module Fib where -- | Compute Fibonacci numbers -- -- Examples: -- -- >>> fib 10 -- 55 -- -- >>> fib 5 -- 5 fib :: Int -> Int fib 0 = 0 fib 1 = 1 fib n = fib (n - 1) + fib (n - 2)
(A line starting with
>>> denotes an expression.
All comment lines following an expression denote the
result of that expression. Result is defined by what an REPL
(e.g. ghci) prints to
evaluating that expression.)
With DocTest you may check whether the implementation satisfies the given examples, by typing:
$ doctest Fib.hs
You may produce Haddock documentation for that module with:
$ haddock -h Fib.hs -o doc/
DocTest is still experimental. You can find a reference to the public source repository at Hackage.
Patches are gladly welcome!