Original-Via: uk.ac.nsf; Thu, 30 Jan 92 00:30:12 GMT Since no one has argued against making Real a subclass of Enum and Integer a subclass of Ix (see my previous letter), I assume that everyone agrees with me. ;-) -- Mikael R. P.S: Here are some errata in 1.2.beta, with suggested fixes. Negative line numbers mean counting bottom-up. Page Line Says Should be iii 5,6 <nothing> "References............149" "Index.................151" (LaTeX refuses to include unnumbered sections in the table of contents, but you can put them in the .toc file manually.) ix -0 <nothing> " \item The precedence of prefix minus has been made the same as infix minus." 11 7 "(see Figure 5)" "(see Figure 5, page 53)" 12 -6 "Because..." "Prefix negation has the same precedence as the infix - operator defined in the standard prelude (see Figure 5, page 53). Because..." 14 -1 "...if e3 is omitted, "...if e3 is omitted, the sequence is the sequence includes infinite for types in the Real class all (sic!) elements of ([maxInt..] == [maxInt,\bot,\bot,...]) the enumeration, and but ends when the elements run out is thus infinite for for finite enumerations like Char." infinite enumerations." 53 Fig. 5 add the entry: " 0 | infixr | $ " 56 -4 "and should be large <Delete the phrase.> enough to serve as It is redundant, since Ints are array indices." required to cover [-2^29+1, 2^29-1], and it is quite weak, since booleans can be used as indices. 56 Fig. 7 Caption: "Numeric "Class inclusions between some class inclusions" of the predefined classes" (Eq, Ord, and Text are not numeric) 56 Fig. 7 <strange choice Ix and Enum should also be included. of classes> (Real < Enum < Ord, and Integral < Ix < Ord, if the proposition to make Real a subclass of Enum and Integral a subclass of Ix passes the class Czars.) 58 7 "(Num a, Ord a) => Real a" "(Num a, Enum a) => Real a" 89 -13 --------- '' ----------- ------------- '' -------- 58 9 "(Real a) => Integral a" "(Real a, Ix a) => Integral a" 89 -11 --------- '' --------- ------------- '' ----------- (If this change is adopted, see above.) 61 11 " -13 `rem` 4" " (-13) `rem` 4" 61 12 " -13 `mod` 4" " (-13) `mod` 4" (`rem` and `mod` bind tighter than prefix negation) 64 -3 "assocs: " "assocs:: " 126 -13 "abiguities" "ambiguities" 126 -4 "preface (page )." "preface (page ix)." 151ff index entries for add references to page 53 (the ! !! $ % && * ** precedence table). + ++ - . / // /= : :% := < <= == > >= ^ ^^ div elem mod notElem rem *) Sections 1.5 and B.4 on layout are almost but not quite identical. Sec. 1.5 is not explicit on whether {- -} comments affect the indentation of a line; sec. B.4 does not contain the module Astack example. The two sections should at least refer to each other. *) The curly braces are overloaded in the BNF notation: {pattern} means zero or more repetitions, pat means difference; pat except pat'. {pat'} This is quite confusing, especially in the ANYseq production: ANYseq -> {ANY} {ANY} { {- | -} } {ANY} where the outermost braces of the subscript expressions are omitted. Suggestion: use angle brackets (\langle and \rangle) for difference. -- Mikael R.