diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/Makefile | 9 | ||||
| -rw-r--r-- | examples/Test.hs (renamed from examples/Foo.hs) | 45 | 
2 files changed, 46 insertions, 8 deletions
diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 00000000..839f04c1 --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,9 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +all :: index.html + +index.html : $(HS_SRCS) +	$(HADDOCK_INPLACE) -h $(HS_SRCS) + +include $(TOP)/mk/target.mk diff --git a/examples/Foo.hs b/examples/Test.hs index f385d058..5b5b7068 100644 --- a/examples/Foo.hs +++ b/examples/Test.hs @@ -1,6 +1,6 @@  -----------------------------------------------------------------------------  -- | --- Module      :  Foo +-- Module      :  Test  -- Copyright   :  (c) Simon Marlow 2002  -- License     :  BSD-style  --  @@ -8,21 +8,21 @@  -- Stability   :  provisional  -- Portability :  portable  -- --- This is the module comment for the "Foo" module +-- This module illustrates & tests most of the features of Haddock.  --  -----------------------------------------------------------------------------  -- This is plain comment, ignored by Haddock. -module Foo (  +module Test (   	-- Section headings are introduced with '-- *':  	-- * Type declarations  	-- Subsection headings are introduced with '-- **' and so on.  	-- ** Data types -	T(..), T2, T3(..), T4(..), -	N1(..), N2(..), N3(..), N4, +	T(..), T2, T3(..), T4(..), T5(..), +	N1(..), N2(..), N3(..), N4, N5(..),  	-- ** Records  	R(..), @@ -33,6 +33,7 @@ module Foo (  	-- * Function types  	f, g, +	-- $aux2  	-- * Auxiliary stuff  	-- $aux1 @@ -59,8 +60,11 @@ module Foo (  	{-| nested-style doc comments -} -	-- * Existential / Universal types +	-- * Existential \/ Universal types  	Ex(..), + +	-- * Type signatures with argument docs +	k, l, m,     ) where @@ -80,6 +84,11 @@ data T3 a b = A1 a | B1 b  -- A data declaration with no documentation annotations at all  data T4 a b = A2 a | B2 b +-- A data declaration documentation on the constructors only +data T5 a b +  = A3 a -- ^ documents 'A3' +  | B3 b -- ^ documents 'B3' +  -- | A newtype  newtype N1 a b = N1 (a b) @@ -94,6 +103,9 @@ newtype N3 a b = N3 {n3 :: a b -- ^ this is the 'n3' field  -- the difference isn\'t visible to the programmer for an abstract type.  newtype N4 a b = N4 a +newtype N5 a b = N5 {n5 :: a b -- ^ no docs on the datatype or the constructor +		    } +  class (D a) => C a  where     -- |this is a description of the 'a' method     a :: Int @@ -163,7 +175,7 @@ f :: C a => Int -> Int  -- | we can export foreign declarations too  foreign import ccall g :: Int -> IO CInt --- | this doc string has a parse error in it: ' +-- | this doc string has a parse error in it: \'  h :: Int  h = 42 @@ -190,10 +202,27 @@ h = 42     @ and a code block @  -} --- | A data-type using existential/universal types +-- | A data-type using existential\/universal types  data Ex a     = forall b . C b => Ex1 b    | forall b . Ex2 b    | C a => Ex3 b    | Ex4 (forall a . a -> a) +-- | This is a function with documentation for each argument +k :: T 		-- ^ This argument has type 'T' +  -> T2 	-- ^ This argument has type 'T2' +  -> (T3 -> T4) -- ^ This argument has type @T3 -> T4@ +  -> T5		-- ^ This argument has a very long description that should +		-- hopefully cause some wrapping to happen when it is finally +		-- rendered by Haddock in the generated HTML page. +  -> IO ()	-- ^ This is the result type + +-- This function has arg docs but no docs for the function itself +l :: (Int, Int, Float) -- ^ takes a triple +  -> Int -- ^ returns an 'Int' + +-- | This function has some arg docs  +m :: R +  -> N1		-- ^ one of the arguments +  -> IO Int	-- ^ and the return value  | 
