Chair of Software Engineering

Eiffel: The Language -- Work In Progress
Bertrand Meyer

This revision: 5.00.02, 15 August 2005

 Overview and restrictions

This private set of pages contains the current state of the book "Eiffel: The Language", third edition. All the material is copyright 1988-2002, Bertrand Meyer. (As you will see in the text, the copyright for the language reference and ELKS parts is meant to be released for free use once the book is in final form.) These pages are meant for consultation by colleagues and friends, especially members of the ECMA Eiffel standardization committee. To avoid lots of potential trouble, in particular with the publisher, please do not link to the actual PDF, only to the present page at http://se.ethz.ch/~meyer/ongoing/etl/, and do not make any publicly accessible copies.

Responsibility for the language now rests with ECMA-TC39-TG4, the technical committee that is standardizing the Eiffel language at ECMA. To participate in the committee you may join ECMA. The present pages serve as working material for the ECMA committee but have no official ECMA status.

 Status indications

The chapters are marked as being in one of the following three states:

Of particular interest is the "changes" appendix which lists the changes with previous versions. I try to keep it as up to date as possible.

 Latest news and changes


You can see the effect of these changes in the PDF chapters

Year 2005

15 August 2005: Version 5.02.00-0

25 June 2005: Version 5.00.00

12 June 2005: Version 5.00.00-4

Integrated all the comments received from David Hollenberg and Alexander Kogtenkov.

23 May 2005: Version 5.00.00-2

21 May 2005: Version 5.00.00-1

6 May 2005: Version 5.00.00-0

5 May 2005: Version 4.99.99-9

5 May 2005: Version 4.70.00-0

4 May 2005: Version 4.69.00-0

3 May 2005: Version 4.68.00-0

3 May 2005: Version 4.67-02.0

Allowed all clauses for constant attributes; see diffs

3 May 2005: Version 4.67.00-1

3 May 2005: Version 4.67.00-0

2 May 2005: Version 4.66.01-0

1 May 2005: Version 4.66.00-0

30 April 2005: Version 4.65.00-0

See diffs at the end

24 April 2005: Version 4.63.00

23 April 2005: Version 4.62.00-0

22 April 2005: Version 4.61.00-0

22 April 2005: Version 4.60.00-0

22 April 2005: Version 4.60.00-0

17 April 2005: Version 4.59.00-0

10 April 2005: Version 4.58.00-0

10 April 2005: Version 4.58.00-0

9 April 2005: Version 4.57.00-0

9 April 2005: Version 4.57.00-0

3 April 2005: Version 4.56.00-1

30 March 2005: Version 4.55.00-1

28 March 2005: Version 4.54.00-1

27 March 2005: Version 4.54.00-0

22 March 2005: Version 4.53.02-0

20 March 2005: Version 4.53.01-2

20 March 2005: Version 4.53.00-1

19 March 2005: Version 4.53.00-0

18 March 2005: Version 4.52.05-0

18 March 2005: Version 4.52.04-0

17 March 2005: Version 4.52.02-0

16 March 2005: Version 4.52.01-0

15 March 2005: Version 4.52.00-0

15 March 2005: Version 4.51.00-0

12 March 2005: Version 4.50.01-0

11 March 2005: Version 4.49.03.0

11 March 2005: Version 4.49.03.0

11 March 2005: Version 4.49.03.0

11 March 2005: Version 4.49.03.0

6 March 2005: Version 4.49.02.0

6 March 2005: Version 4.49.01-2

5 March 2005: Version 4.49.01-1

5 March 2005: Version 4.49.01-0

3 March 2005: Version 4.49.00-0

2 March 2005: Version 4.48.05-0

2 March 2005: Version 4.48.04-0

2 March 2005: Version 4.48.03-1

Added a chapter, still empty, on "eradicating void". This will host the attached stuff.

1 March 2005: Version 4.48.02-4

Scaled back all version numbers retroactively, to give more space for future revisions.

1 March 2005: Version 4.48.02-2

1 March 2005: Version 4.48.02-1

28 February 2005: Version 4.48.02-0

25 February 2005: Version 4.48.01-0

20 February 2005: Version 4.48.00-2

20 February 2005: Version 4.48.00-1

19 February 2005: Version 4.48.00-0

19 February 2005: Version 4.47.05-0

18 February 2005: Version 4.47.04-1

Revised conversion chapter. Next I will work on explicitly typed constants.

18 February 2005: Version 4.47.04-0

17 February 2005: Version 4.47.03-1

16 February 2005: Version 4.47.02-2

17 February 2005: Version 4.47.02-1

15 February 2005: Version 4.47.02-0

-- Change log lost for January and early February versions --

Year 2004

5 December 2004: Version 4.46.00-0

4 December 2004: Version 4.45.02-0

4 December 2004: Version 4.45.01-0

28 November 2004: Version 4.45.00-4

28 November 2004: Version 4.45.00-3

28 November 2004: Version 4.45.00-1

20 November 2004: Version 4.45.00-1

31 October 2004: Version 4.45.00-0

17 October 2004: Version 4.44.02-0

17 October 2004: Version 4.44.02-0

5 April 2004: Version 4.42.00-2

4 April 2004: Version 4.42.00-01

Year 2002

21 Sept 2002: Version 4.42-00-00

11 June 2002: Version 4.40-00-11

Year 2001

31 December 2001: Version 4.40-00-00

29 December 2001: Version 4.39-00-00:

8 December 2001: Version 4.38-1:

18 December 2001: Version 4.37-3:

+ To list of changes for 2000.

+ To list of changes for 1999.

Year 2000

26 December 2000: Version 4.37-1:

25 December 2000: Version 4.36-3:

19 December 2000: Version 4.36-0:

19 December 2000: Version 4.35-3:

14 December 2000: Version 4.35-1:

13 December 2000: Version 4.35-0:

25 August 2000: Version 4.33-1:

25 August 2000: Version 4.33-0:

13 August 2000: Version 4.32-0:

21 July 2000: Version 4.31-0:

4 May 2000: Version 4.27-0:

4 May 2000: Version 4.26-0:

21 February 2000: Version 4.25-1:

21 February 2000: Version 4.25-0:

17 February 2000: Version 4.24-0:

February 2000: Version 4.23-0:

1 February 2000: Version 4.22-4:

January 9, 2000: Version 4.21-3:

January 6, 2000: Version 4.21-2:

January 3, 2000: Version 4.21-1:

January 2, 2000: Version 4.21-0:

January 2, 2000: Version renumbering for consistency. The last few versions should have been called 4.20-x. They now are. The record (below and in the Talkitover archive) has been corrected. Sorry for any confusion.

Year 1999

December 30, 1999: Version 4.20-3.

December 29, 1999: Version 4.20-2

December 17, 1999: Version 4.20-0.

December 12, 1999: Version 4.17-1.

December 4, 1999: Version 4.17-0.

November 5, 1999: Version 4.16-4. Changed creation expression syntax again in creation chapter. This is basically to undo the previous change (September 2) after some people convinced me it was a bad idea. So the previous syntax with the create keyword is back. I may have forgotten to update some of the examples; if you notice any please tell me. Also did some minor cleanup on the rest of the chapter.

November 3, 1999: Version 4.16-3.

November 3, 1999: Version 4.16-2.

November 1, 1999: Version 4.16-1.

October 31, 1999: Version 4.16-0.

October 23, 1999: Version 4.15-1.

October 22, 1999: Version 4.15-0.

October 17, 1999: Version 4.14-5.

October 10, 1999: Version 4.14-4.

October 9, 1999

October 9, 1999

October 8, 1999

October 8, 1999

October 5, 1999

October 3, 1999

September 26, 1999

September 5, 1999

September 3, 1999

September 2, 1999

August 31, 1999

August 30, 1999

August 14, 1999

July 25, 1999

July 18, 1999

July 18, 1999

July 17, 1999

July 17, 1999

July 16, 1999

July 16, 1999



 Short table of contents and links to chapters

(See also Full table of contents.)

EIFFEL: THE LANGUAGE, THIRD EDITION

Note: this section used to include links to individual chapters. With the growth of the text, regenerating them has become a time-consuming process because they hit limitations of text processing tools. For the moment only the full text is available. Note its size (over 13 MB). Sorry for the inconvenience.

       Click here for the full text.


Meyer home  -   Publications  -  Events  -  Chair of Software Engineering  -  CS Department