[Haskell-cafe] [ANN] Haskell Cheatsheet v1.0
Holger Siegel
holgersiegel74 at yahoo.de
Sat Oct 11 08:30:50 EDT 2008
On Saturday 11 October 2008 01:08:15 Justin Bailey wrote:
> This is a beta release (which is why I've limited the audience by
> using hackage) to get feedback before distributing the PDF to a wider
> audience. With that in mind, I welcome your comments or patches[2].
>
> Justin
>
> [1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/CheatSheet
> [2] git://github.com/m4dc4p/cheatsheet.git
Looks good!
Some minor issues:
- sometimes it is a bit verbose for a cheatsheet; for example the reference to
language C in the section about the layout rule.
- in the section about strings, you give an example of a syntax error; it
would be sufficient to show what is right.
- in the section about operator precedence you define 'div1' to be right
associative. Instead, you could show where right associativity is actually
useful (>>=, ...).
- The explanation of the layout rule is wrong. If you define more than one
value in a let declaration, then it is only required that the identifiers
start on the same column.
- When I started to learn Haskell, I had problems with the use of (.) and ($).
I had learned what function application and lambda abstractions look like, but
then I looked at Haskell code written by experienced Haskellers and found
expressions like (map (succ . succ) $ 1:xs) that I did not understand.
A small section describing how to read such expressions could be useful for
beginners.
- the section about do-notation is more a mini-tutorial than a cheatsheet.
Instead, you could show two or three examples that demonstrate how do-
notation, list comprehensions and the operator >>= relate. That is what I had
to look up more than once until I got used to it. There is also an example of
what is wrong, where showing the right thing would have sufficed.
More information about the Haskell-Cafe
mailing list