Personal tools

DocTest

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (fixed typo)
m (fixed terminology)
Line 1: Line 1:
 
==What is DocTest==
 
==What is DocTest==
 
DocTest is a small program, that checks examples in
 
DocTest is a small program, that checks examples in
Haskell 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].
   

Revision as of 12:03, 22 March 2009

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 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.

3 DocTest on Hackage

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/DocTest

4 Branches

http://code.haskell.org/~sih/code/DocTest.git/