home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pipex!demon!cix.compulink.co.uk!arh
- Newsgroups: comp.lang.eiffel
- From: arh@cix.compulink.co.uk (Andrew Henson)
- Subject: TITLE: "Eiffel: The Language" 2nd printing ERRATA
- Reply-To: arh@cix.compulink.co.uk
- Date: Thu, 21 Jan 1993 23:57:00 +0000
- Message-ID: <memo.884925@cix.compulink.co.uk>
- Sender: usenet@demon.co.uk
- Lines: 152
-
-
- There is a partial errata I've picked up from the 2nd printing.
- There are a lot of improvements over the 1st printing, especially in
- the code fragments near the back, but there's some way to go!
-
-
- p88: Margin note on NONE
-
- States that NONE is the type of address parameters. Since the
- introduction of POINTER (now listed as a reserved word in the 2nd
- printing this is no longer the case. (in the 1st printing POINTER
- does not appear).
-
-
- p241: Caroline.pay_salary
-
- style rules suggest this should be `caroline', not `Caroline'. (What
- happened to `jane' from the first printing?).
-
-
- p388: Real constants (box) : a.b
- where a & b are integer constants.
-
- This implies 1.-2 is a legal real :-)
- Also it would be nice to have some examples with underlines on this
- page, e.g. 1_234.5
-
-
- p419: "With the exception of @ for arrays, free operators are not
- used in the Basic libraries..."
-
- infix "#" is used on p480 in the basic libraries
-
-
- p422: String_with_backspace:INTEGER is "AAA%BZZZ"
-
- Should be :STRING
-
- This page also needs to mention comments - specifically is
- -- increases by 50%.
- illegal because "%." is not a legal % sequence, and is %N, viz:
- class ANY -- header comment%N inherit PLATFORM end
- a valid way of terminating a comment?
-
-
- p434: class interface ANY exported features
-
- Elsewhere, shortforms used
- class interface CLASNAME feature specification
-
- so why the change?
-
-
- p435: frozen clone
-
- is correct, but the margin comment on p543 would be useful here.
-
-
- p436: Maximum_character_code >= 128
-
- Why 128?
- If using ASCII, codes run from 0 to 127. Should it be >= 127 ?
-
-
- p453: is_developer_exception(code:INTEGER):INTEGER
-
- should be ...):BOOLEAN
- as should the next: is_assertion_violation ... :BOOLEAN
-
- (Note to those with 1st printing: these are new in 2nd printing;
- good software engineering technique - changing the spec without
- telling anyone :-)).
-
-
- p471 (chapter31): out(x)
-
- Should be x.out
-
-
- p472: io.putstring(out(temperature))
-
- Should be io.putstring(temperature.out)
-
-
- p474: readstream
-
- Is this correct? Should it be readstring?
-
-
- p491: feature
- set(minindex,maxindex:INTEGER) is
-
- a) Since it's defined as `make' in `creation', it should be `make'
- here (1st printing called both `set').
-
- b) since --`lower' initialised to 0 by default
- is assumed, then is should only be called as a creation, so it should
- be exported to none.
-
- i.e. feature {NONE}
- make(minindex,maxindex:INTEGER) is
-
- c) so now we need a new
- feature
- before lower: INTEGER so we can start exporting again.
-
-
- p491(again): empty_if_impossible: minindex < maxindex implies count=0
-
- Nope! Try ">"
-
-
- p571: Parent_list
-
- `end' here is ambiguous with `end' from Class_declaration if no
- rename, export, undefine, redefine or select preceed.
-
-
- p572: New_export_item
- Class_name box
-
- Should be Feature_name
-
-
- p572(again): Routine
-
- Should optionally allow `else' and `then' after require and ensure
-
-
- p573: Instruction
-
- if and inspect paths allow `end' to be omitted
-
- creation needs an identifier before .unqualified_call
-
-
- p574: Loop
-
- after variant a Tag_mark is permitted. Called \box{Identifier}\box{:}
- in this appendix.
-
-
- p574(again): Call
-
- Identifier is an alternative to ( Expression )
- e.g. io.newline as well as
- (io).newline
- This error also occurs in appendix H & I.
-
- --------------
- Andy Henson; voice: +44.923.825275; voicemail: +44.426.910223
- arh@cix.compulink.co.uk; Cix is a mail service: I'm independant.
-