Personal tools

DocTest

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Update Hackage link)
m
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
==What is DocTest==
+
The content of this page has moved to: https://github.com/sol/doctest-haskell#readme
DocTest is a small program, that checks
 
[http://www.haskell.org/haddock/doc/html/ch03s08.html#id566093 examples in Haddock comments]. It is modeled after
 
[http://docs.python.org/library/doctest.html doctest for Python].
 
 
==Installation==
 
DocTest is available from
 
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/DocTest Hackage].
 
Install it, by typing:
 
<pre>
 
$ cabal install doctest
 
</pre>
 
 
==Usage==
 
Below is a small Haskell module. The module contains a Haddock comment with some examples of interaction. The examples demonstrate how the module is supposed to be used.
 
 
<haskell>
 
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)
 
</haskell>
 
 
(A line starting with <hask>>>></hask> denotes an ''expression''. All comment lines following an expression denote the ''result'' of that expression. Result is defined by what an [http://en.wikipedia.org/wiki/Read-eval-print_loop REPL] (e.g. ghci) prints to <hask>stdout</hask> and <hask>stderr</hask> when evaluating that expression.)
 
 
With DocTest you may check whether the implementation satisfies the given examples, by typing:
 
 
<pre>
 
$ doctest Fib.hs
 
</pre>
 
 
You may produce Haddock documentation for that module with:
 
 
<pre>
 
$ haddock -h Fib.hs -o doc/
 
</pre>
 
 
==Hacking==
 
DocTest is still experimental.
 
You can find a reference to the public source repository at
 
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/doctest Hackage].
 
 
Patches are gladly welcome!
 

Latest revision as of 15:16, 23 June 2012

The content of this page has moved to: https://github.com/sol/doctest-haskell#readme