Difference between revisions of "DocTest"
SimonHengel (talk | contribs) m |
SimonHengel (talk | contribs) m (reordered sections, added "Installation") |
||
Line 2: | Line 2: | ||
DocTest is a small program, that checks examples in |
DocTest is a small program, that checks examples in |
||
Haskell source code comments. It is modeled after |
Haskell source code comments. It is modeled after |
||
− | [http://docs.python.org/library/doctest.html doctest for Python]. |
+ | [http://docs.python.org/library/doctest.html doctest for Python]. |
− | == |
+ | ==Installation== |
+ | DocTest is available from |
||
⚫ | |||
+ | Install it by typing (on your Unix shell): |
||
+ | <pre> |
||
+ | $ cabal install doctest |
||
+ | </pre> |
||
+ | |||
+ | ==Usage== |
||
Bellow is a small Haskell module. The module contains source code comments. |
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. |
Those comments are examples from an interactive Haskell session and demonstrate how the module is used. |
||
Line 37: | Line 45: | ||
evaluating that expression. |
evaluating that expression. |
||
+ | ==Hacking== |
||
− | ==State of DocTest== |
||
− | DocTest development is in an early stage. |
+ | DocTest development is in an early stage. |
+ | My public git repository is at: |
||
− | ==DocTest on Hackage== |
||
⚫ | |||
− | |||
− | ==Branches== |
||
http://code.haskell.org/~sih/code/DocTest.git/ |
http://code.haskell.org/~sih/code/DocTest.git/ |
||
+ | |||
+ | Patches are gladly welcome! |
Revision as of 12:16, 22 March 2009
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
-- 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.
Hacking
DocTest development is in an early stage. My public git repository is at:
http://code.haskell.org/~sih/code/DocTest.git/
Patches are gladly welcome!