Difference between revisions of "DocTest"
SimonHengel (talk | contribs) m (reordered sections, added "Installation") |
SimonHengel (talk | contribs) (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> |
||
⚫ | |||
− | |||
⚫ | |||
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://code.haskell.org/~sih/code/DocTest.git/ |
||
Patches are gladly welcome! |
Patches are gladly welcome! |
Revision as of 07:31, 16 October 2010
What is DocTest
DocTest is a small program, that checks examples in Haskell source code comments. It is modeled after doctest for Python.
Installation
DocTest is available from Hackage. Install it by typing (on your Unix shell):
$ cabal install doctest
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.hs
Lines starting with >>>
denote expressions.
All comment lines following an expression denote the
result of that expression. Result is defined by what an REPL
(e.g. ghci) prints to stdout
and stderr
when
evaluating that expression.
Hacking
DocTest is still experimental. You can find a reference to the public source repository at Hackage.
Patches are gladly welcome!