[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Errata sheet (unauthorized)



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.