| (1) In the first section, in: | | instance (cx, cx') => Ci (T u1 ... uk) where { d } | | the use of "(cs, cs')" is a bit loose (that is, suggestive rather than | precise syntax). One can't (according to the report, though GHC seems to | allow it) have nested parentheses in a context, which would occur if cx | included parentheses.
True --- but I think it's too late to improve this. I don't think it's misleading enough to matter. | (2) In section D.1, in: | | For example, False < _|_ is _|_, even though False is the first | constructor of the Bool type. | | change the operator from "<" to "<=". There is no reason to expect (False < | _|_) to be True. Good idea. | (3) Section D.4 gives the expected rule: | | head (readsPrec d (showsPrec d x "")) == (x,"") | | Why should this not be: | | readsPrec d (showsPrec d x "") == [(x,"")] I can't think why not, unless there is a shorter valid parse, which I suppose is conceivable. I'd rather not change this. | (4) I don't understand this paragraph in section D.4: | | readsPrec will parse any valid representation of the standard types | apart from lists, for which only the bracketed form [...] is accepted. See | Appendix A for full details. | | The statement seems to say that ((readsPrec 5 (show | "abc"))::[([Char],String)]) is invalid, but that can't be what it means to | say. Sigh. You are right. For strings, only "foo" is acceptable. (GHC accepts the ['f','o','o'] form too, but the Report does not. So I guess the wording should be: "readsPrec will parse any valid representation of the standard types apart from strings, for which only quoted strings are accepted, and other lists, for which only the bracketed form [...] is accepted. " | (5) The next paragraph of section D.4 says: | | Spaces and parentheses are only added where needed, ignoring | associativity. | | The phrase "only where needed" suggests that (show (1 :$ 2 :$ NT)) should | produce the string "1:$(2:$NT)" (no spaces) rather than the string "1 :$ (2 | :$ NT)", as claimed later in the section (and borne out by GHC). It needs | to be stated that an infix operator is preceded and followed by a space. Maybe I should remove "spaces and"; this is really only about parens. | (6) In the bullet that begins "The derived Read instance allows", change | "parenthese" to "parentheses". Thanks Simon _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell