
One suggestion: Section 3.6 defines a function "fix": fix :: Eq x => (x -> x) -> x -> x fix f x = if x == x' then x else fix f x' where x' = f x This confusingly differs in both type and meaning from the traditional function Control.Monad.Fix.fix and is not even used elsewhere in the document. I suggest that it be removed and the real Control.Monad.Fix.fix function be defined in its own section, with an side-by-side comparison with a named recursive function. This would be useful because the type fix :: (a -> a) -> a is highly confusing, suggesting to newcomers a usage like: f = fix (+1) which is undefined (and seems to be "missing an argument"), when invariably its type is in practice restricted to: fix :: ((a -> b) -> (a -> b)) -> (a -> b) which is much more suggestive (but nowhere to be found in the docs). Dan Weston Don Stewart wrote:
evan:
Has anybody made (or have a link to) a Haskell reference cheat sheet? I'm thinking of a nice LaTeXed PDF in the 1-10 page range (e.g. something like this http://www.tug.org/texshowcase/cheat.pdf) with the basics of the language syntax, the type declarations for the common type classes, the type signatures of the most commonly used functions in the Prelude and other common modules, and so forth? The Haskell standard library is very large for a newcomer (even just the Prelude!), and as a learner of the language I find myself spending a lot of time looking up Prelude functions and syntax details -- having all of this in a short PDF document that I could have offline would be very useful.
http://haskell.org/haskellwiki/Reference_card
? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe