Haskell modul dokumentálása Haddock-kal

Haddock

Haddock: A Haskell Documentation Tool

Fő cél: könyvtári modulok dokumentálása

Példák:

Deklarációk dokumentálása

Előbb dokumentálás: -- |

-- |The 'square' function squares an integer.
square :: Int -> Int
square x = x * x

Később dokumentálás: -- ^

square :: Int -> Int
-- ^The 'square' function squares an integer.
square x = x * x

Többsoros dokumentáció

  1. lehetőség:
-- |The 'square' function squares an integer.
-- It takes one argument, of type 'Int'.
  1. lehetőség:
{-|
  The 'square' function squares an integer.
  It takes one argument, of type 'Int'.
-}

Részletek dokumentálása

Konstruktorok dokumentálása:

data T a b
  = C1 a b  -- ^ This is the documentation for the 'C1' constructor
  | C2 a b  -- ^ This is the documentation for the 'C2' constructor

Függvényparaméterek dokumentálása:

f  :: Int      -- ^ The 'Int' argument
   -> Float    -- ^ The 'Float' argument
   -> IO ()    -- ^ The return value

Markup

Linkek:

-- | This module defines the type 'T'.
-- | This is a reference to the "Foo" module.

Kiemelés és szövegközi kód:

-- |  /Emphasis/ and @code@, also @'f' a b@.

Kód blokk

Markup-engedélyező és szó szerinti kód blokkok:

-- | This documentation includes two blocks of code:
--
-- @
--     f x = x + x
-- @
--
-- >  g x = x * 42

További lehetőségek

A html dokumentáció legyártása

A html dokumentáció legyártása a cabal paranccsal:

cabal haddock