bertrand@eiffel.UUCP (Bertrand Meyer) (09/05/89)
The Eiffel Reference Manual is now available. This provides the complete and precise reference which had been missing so far. The Reference Manual is a 278-page book (+x). Although it does include some comments and methodological remarks, it is mostly a construct-by-construct presentation of the language. The audience is Eiffel users, others interested in Eiffel, and authors (or prospective authors) of Eiffel implementations. The style of presentation is more systematic than in most existing language manuals, with the obvious exception of formal (mathematical) language specifications. Most constructs are presented in three paragraphs (SYNTAX, CONSTRAINTS, SEMANTICS). The constraints, which correspond to static semantic restrictions (such as typing rules), have in almost all cases been expressed not just as ``if'' rules (``to be valid, an assignment instruction must...'') but as ``if and only if'' rules (``an assignment instruction is valid if and only if...''), so as to make it possible for both Eiffel programmers and Eiffel implementers to ascertain that a construct is correct. Other paragraphs of the text are labeled AS COMMENTARY, PREVIEW, REMINDER, PURPOSE etc. The language described is that of version 2.2. All current Eiffel installations will receive the manual. Others in North America may order it from Interactive Software Engineering for $35 plus S/H. (In Europe, 250 French Francs + S/H, available Sept. 20.) Please send mail to queries@eiffel.com if you need telephone numbers, addresses etc. Although written with care, the book is not expected to be bug-free. A revised version will be published by Prentice-Hall early next year under the title ``Eiffel: The Language and Environment''. If you are a non-Eiffel-user interested but not in haste, you may prefer to wait for the final form. Below is the abbreviated table of contents. 1 Introduction 2 Basic conventions 3 Classes, universes and systems: The architecture of Eiffel software 4 Storing class texts 5 Classes 6 Features 7 Inheritance 8 Clients and exports 9 Types 10 Conformance 11 Routines and instructions 12 Assertions, specifications and correctness 13 Control structures 14 Exceptions 15 Attributes 16 Objects, values, expressions and entities 17 Object creation 18 Re-attachment 19 Feature call 20 Expressions and constants 21 Universal features 22 Persistence and environments 23 Arrays and strings 24 Input and output 25 Interfacing with other languages Appendices A An introduction to Eiffel B Style guidelines C Reserved words and special symbols D Syntax summary E Syntax in alphabetical order Index -- -- Bertrand Meyer bertrand@eiffel.com