
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.