Difference between revisions of "DocTest"
Jump to navigation
Jump to search
SimonHengel (talk | contribs) |
SimonHengel (talk | contribs) |
||
Line 4: | Line 4: | ||
[http://docs.python.org/library/doctest.html doctest for Python]. |
[http://docs.python.org/library/doctest.html doctest for Python]. |
||
− | == |
+ | ==Tutorial== |
− | Bellow is a small Haskell module |
+ | 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. |
||
<haskell> |
<haskell> |
||
Line 23: | Line 24: | ||
</haskell> |
</haskell> |
||
− | DocTest checks if the implementation |
+ | With DocTest you may checks if the implementation satisfies the given examples, by typing (on your Unix shell): |
− | satisfies the given examples: |
||
<pre> |
<pre> |
||
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'' of that expression. Result is defined by what a [http://en.wikipedia.org/wiki/Read-eval-print_loop REPL] |
+ | (e.g. ghci) prints to <hask>stdout</hask> and <hask>stderror</hask> when |
||
− | + | evaluating that expression. |
|
==DocTest on Hackage== |
==DocTest on Hackage== |
Revision as of 12:00, 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 a 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