Improving library documentation
If you find standard library documentation lacking in any way, please log it here. At the minimum record what library/module/function isn't properly documented. Please also suggest how to improve the documentation, in terms of examples, explanations and so on.
Example:
package base Data.List unfoldr
An example would be useful. Perhaps:
-- A simple use of unfoldr: -- -- > unfoldr (\b -> if b == 0 then Nothing else Just (b, b-1)) 10 -- > [10,9,8,7,6,5,4,3,2,1] --
dons 00:31, 26 November 2006 (UTC)
Tag your submission with your name by using 4 ~ characters, which will be expanded to your name and the date.
If you'd like, you can directly submit your suggestion as a darcs patch via the bug tracking system.
Please add your comments under the appropriate package:
General Haddock[edit]
I wish haddock generated a link to the parent module when it creates the page for a given module. I may implement this myself, but I wanted to make sure this wishlist item was recorded somewhere :) Dagit 08:49, 27 November 2006 (UTC)
base[edit]
package base Data.Array.IO and Data.Array.MArray descriptions
An example would be usefull. Arrays can be very difficult when you see them the very first time ever with the assumption that you want to try them right now and that Haskell is a relatively new to you. Maybe something like this could be added into the descriptions of the array-modules.
module Main where import Data.Array.IO -- Replace each element with 1/i, where i is the index starting from 1. -- Loop uses array reading and writing. loop :: IOUArray Int Double -> Int -> Int -> IO () loop arr i aLast | i > aLast = return () | otherwise = do val <- readArray arr i writeArray arr i (val / (1+fromIntegral i)) loop arr (i+1) aLast
main = do arr <- newArray (0,9) 1.0 -- initialise an array with 10 doubles. loop arr 0 9 -- selfmade loop over elements arr <- mapArray (+1) arr -- a map over elements elems <- getElems arr putStrLn $ "Array elements: " ++ (show elems)
Isto 14:43, 26 November 2006 (UTC)
network[edit]
package network Network.Socket descriptions
Lacking documentation on practically all non-typed parameters. take recv :: Socket -> Int -> IO String What is the int there? Some sort of flag?
Also, hoogle links are broken, needed to use google to get there.
Zut 19:24, 24 November 2007 (UTC)
unix[edit]
QuickCheck[edit]
STM[edit]
package stm Control.Concurrent.STM.TChan Control.Concurrent.STM.TMVar function comments
TMVar, TChan: While mostly intuitive, the functions could use some comments to simplify reference. Imix 10:00, 14 December 2006 (UTC)
Control.Applicative, Data.Traversable, Data.Foldable[edit]
Some examples of how these modules can be used would be extremely helpful. It's hard for me to extract examples from the McBride and Paterson paper, because of the notation and because the examples are mixed in with the axioms and proofs.
(This comment really applies to any module where the description contains a link to a PDF of an academic paper and no examples.)
SethGordon 14:19, 14 December 2006 (UTC)
- The problem is that those classes do not make sense without axioms, a set of axioms defines the meaning. What do you mean by an inappropriate notation? Personally I feel that “→” is more readable than “->” and “∘” than “.”. --Beroal 05:29, 20 January 2010 (UTC)