DocTest
From HaskellWiki
m (reordered sections, added "Installation") |
(Update for 0.1.0) |
||
| Line 19: | Line 19: | ||
module Fib where | module Fib where | ||
| + | -- | Compute Fibonacci numbers | ||
| + | -- | ||
-- Examples: | -- Examples: | ||
-- | -- | ||
| - | -- > fib 10 | + | -- >>> fib 10 |
-- 55 | -- 55 | ||
| - | + | -- | |
| - | -- > fib 5 | + | -- >>> fib 5 |
-- 5 | -- 5 | ||
| - | + | fib :: Int -> Int | |
fib 0 = 0 | fib 0 = 0 | ||
fib 1 = 1 | fib 1 = 1 | ||
| Line 38: | Line 40: | ||
</pre> | </pre> | ||
| - | + | Lines starting with <hask>>>></hask> denote ''expressions''. | |
| - | Lines starting with <hask> | + | |
All comment lines following an expression denote the | 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] | ''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> | + | (e.g. ghci) prints to <hask>stdout</hask> and <hask>stderr</hask> when |
evaluating that expression. | evaluating that expression. | ||
==Hacking== | ==Hacking== | ||
| - | DocTest | + | 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]. | |
| - | http:// | + | |
Patches are gladly welcome! | Patches are gladly welcome! | ||
Revision as of 07:31, 16 October 2010
Contents |
1 What is DocTest
DocTest is a small program, that checks examples in Haskell source code comments. It is modeled after doctest for Python.
2 Installation
DocTest is available from Hackage. Install it by typing (on your Unix shell):
$ cabal install doctest
3 Usage
Bellow is a small Haskell module. The module contains source code comments. Those comments are examples from an interactive Haskell session and demonstrate how the module is 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)
With DocTest you may checks if the implementation satisfies the given examples, by typing (on your Unix shell):
$ doctest Fib.hsLines starting with
All comment lines following an expression denote the result of that expression. Result is defined by what an REPL
(e.g. ghci) prints toevaluating that expression.
4 Hacking
DocTest is still experimental. You can find a reference to the public source repository at Hackage.
Patches are gladly welcome!
