Difference between revisions of "DocTest"
Jump to navigation
Jump to search
SimonHengel (talk | contribs) |
SimonHengel (talk | contribs) m (fixed typo) |
||
Line 33: | Line 33: | ||
Lines starting with <hask>-- ></hask> denote ''expressions''. |
Lines starting with <hask>-- ></hask> denote ''expressions''. |
||
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 |
+ | ''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>stderror</hask> when |
(e.g. ghci) prints to <hask>stdout</hask> and <hask>stderror</hask> when |
||
evaluating that expression. |
evaluating that expression. |
Revision as of 12:01, 22 March 2009
What is DocTest
DocTest is a small program, that checks examples in Haskell comments. It is modeled after doctest for Python.
Tutorial
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
-- Examples:
--
-- > fib 10
-- 55
-- > fib 5
-- 5
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 stderror
when
evaluating that expression.
DocTest on Hackage
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/DocTest