
Alex, many thanks for all these comments, I've fixed all the problems you pointed out, except for: On 09/07/2010 03:25, Alex Stangl wrote:
6. In section 3.17.2, the example that is supposed to return [undefined,undefined,undefined] seems like it really ought to return undefined, although I can see in the description above for ~apat matching where the other interpretation would hold. I actually tried this in GHC 10.4.2, binding the result to a variable and then applying the function length to it, and it comes back with undefined, whereas performing "length [undefined,undefined,undefined]" returns 3. So it appears that in this case, at least GHC 10.4.2 is returning undefined rather than [undefined,undefined,undefined].
did you mean this one? (\ ~(x:xs) -> x:x:xs) ⊥ ⇒ ⊥:⊥:⊥ it is returning undefined:undefined:undefined, which is different from [undefined,undefined,undefined].
10. Section 7.1 uses "function" in places where it ought to use "action". It seems more correct to describe print as returning an action that outputs a value. Most of the "Input Functions" (e.g., getChar, getLine, getContents, readLn) should be described as actions, not functions. It switches to using the term "operation", which seems better, but then reverts back to "function".
This is a larger change, I'll defer it to Haskell 2011 along with some other nomenclature-related cleanup I'd like to get done.
20. In heading for 20.9.2, quotes around "Set" are not balanced. Both are closing quotes. Ditto for 20.10.1, 20.10.2. and 22. In section 38.2, first occurrence of 'dual' has mismatched quotes. and 23. In section 41.1, quotes around "perform" are mismatched. Word "function" is mildly misused again here.
the quotes are wrong, but it would be a fiddle to fix it in Haddock, so I'm punting on that.
25. In section 41.4.4, bullet before isPermissionError isn't rendered correctly.
I can't see that - perhaps it has been fixed already. Cheers, Simon