The First 7 Algol Bulletins
The first seven Algol Bulletins are very different from the later ones. These first ones
were very informally produced and were aimed at resolving specific issues which arose
in defining Algol 60. They were only really produced to assist the group that designed
the language.
Hence, readers are strongly advised to read Peter Naur's description of the early work
on Algol 60 before reading these issues. His article is: The European side of the last
phase of the development of Algol 60. This was published in the History of Programming Languages,
ACM, 1981, pp92-139.
The index below is from pages 19-21 of Issue 7. Selecting an entry gives a single page (bit-map)
containing the start of that entry.
Classified Index of Suggestions and Discussion Concerning the Algol Language
The main classification corresponds closely to the Zurich report. Hardware questions
are omitted. Some items appear in several places.
2. Basic Symbols
- Use * for multiplication (Facit) 7.20.
- New delimiters in for- and if- (Bauer) 7.4.
Numerical constants
- Permanent identifiers for p (pie) and e (SAAB, Heise) 2.6, Discussion 3.3, 4.4.
- Constant coefficients for power series (SAAB) 2.7.
Identifiers for variables, arrays and functions
- Does bracket structure identify? (Naur) 4.14 Yes: (Rutishauser) 5.9.3 (Garwick) 5.9.1.
- Suggestion for grouping of entities (Regencentralen) 5.9.4
- Number of subscripts (arrays) and variables (functions) identifies (Samelson) 7.21.
- Identifier alone identifies (van Wijngaarden, Dijkstra) 7.32.
3. iv) Functions
Enter library functions through headings: (Regencentralen) 7.39.
3. v) Arithmetic Expressions
Non-synonymous expressions (Bauer) 7.45.
3. vi) Boolean Expressions
- Rule for precedence of log. operators (Paris sub.com.) 4.12. No, wait and see! (Mailufter1) 5.7.
- Generalization of log. operations (Garwick) 4.16. Criticism (Rutishauser) 5.11.
- use [ ] around arithmetic relations (Regencentralen) 5.17. Criticism (Siemens) 7.19.
4. Statements
Dummy statement
Need for (Bring, Ehrling) 2.4. Rutishauser suggestion 3.4.2. Paris sub.com. suggestion 4.5.2.
Agreement 5.1. Paris sub.com. recommends Rutishauser suggestion 7.28.1.
4. i) Assignment Statements
- What happens to a := b/c; integer (a); - ? (Naur) 4.15.
- Answer: round-off (Rutishauser) 5.10.
- The alphabet of assignment statements (Samelson) 7.21.
4. iii) If Statement
Redefinition (Samelson) 7.25.
4. iv) For Statement
- Allow E(E)E, E, E, E(E)E ... (Paris sub.com.) 4.11. Support (Rutishauser) 7.18.
- Let a(1)b, b < a cause a skip (Garwick) 7.14, (Rutishauser) 7.15.
- Remove statements character (Samelson) 7.26.
- New delimiters (Bauer) 7.41.
4. v) Alternative Statements
Redefinition (Samelson) 7.25.
4. vii) Stop Statements
- Allow dynamic succession (Bring, Ehrling, Haise) 2.3.
- Special label for stop (Rutishauser) 3.2.2. Answer: (Heise) 3.2.1.1.
- Not in favour of dynamic succ. (Bauer, Samelson) 3.2.2.
- Agreement in favour fo dynamic succession 4.3.
- Replace by `RETURN' (Samelson) 7.27.
4. viii) Return Statements
Similarity with `STOP' (Samelson) 7.27.
4. ix) Procedure Statements
- Only output parameters may change (Naur) 3.7, (Bauer) 7.43.
- May input and output parameters be identical? (Regencentralen) 3.7.
- Why are switches as output parameters not permitted? (Regencentralen) 5.15.
- Use special symbolism for labels and switches as output parameters (Regencentralen) 5.16.2.
Discussion (Siemens) 7.5. (SAAB) 7.47.
- What formalism should be used for procedures as input parameters (Regencentralen) 7.11.
5. Declarations
Status of declarations
- Allow dynamic array-declarations (Rutishauser) 7.16.
- Declarations as prefixes to statements (Samelson) 7.22.
- Declarations operative for following program (van Wijngaarden, Dijkstra) 7.31.
(Bottenbruch) 7.37.
- Compatible declarations (van Wijngaarden, Dijkstra) 7.31.
- Stick to Zurich ALGOL: (Regencentralen) 7.7.
Constant-declaration
- Proposal (Paris sub-com.) 4.7.
- May a `constant' change? (Regencentralen) 5.3. Discussion 7.7. 7.8. 7.48.
- Precise definition (Rutishauser) 7.7.
- Length of procedure declaration (Ehrling) 3.6.
Equivalence declaration
- Proposal (Paris sub-com.) 4.10.
- Other designations: Coordination, transformation, identification, substitution (Hailufter1) 5.6.1.
(Regencentralen) 7.12.
- Operational meaning in multi-identified procedure? (Regencentralen) 5.6.2.
- Operates for all proc. within same declaration (Paris sub-com.) 7.28.3.
- Is not needed (Rutishauser) 7.6.
- Old, new declaration (van Wijngaarden, Dijkstra) 7.33.
- Empty declaration (Bottenbruch) 7.37.1.
- Library declaration (Ehrling) 5.13.3.
- Auxiliary declarations (Bottenbruch) 7.36.2.
5. i) Type Declarations
Dummy (van Wijngaarden, Dijkstra) 7.34.1.
5. ii) Array Declarations
- Variable size arrays (Bring, Ehrling) 2.5.1.
- Subscripts are constants (Naur) 2.5.3.
- Negative subscripts permitted? (Regencentralen) 7.13.
- Allow expressions in subscript bounds (Samelson) 7.23.
- Introduce fully dynamic array declarations (Rutishauser) 7.16.
5. iv) Function Declarations
- Write: `FUNCTION' (Paris sub-com.) 4.8. Approval (Hailufterl) 5.4. (Rutishauser) 7.9.
- Use =, no := (van Wijngaarden, Dijkstra) 7.34.2.
5. vi) Procedure Declarations
Fundamental properties
- Only variables, no functions, through heading (Bottenbruch) 7.36.1.
- Permit hidden parameters (Bottenbruch) 7.36.2.
- Old, new, declarations (van Wijngaarden, Dijkstra) 7.33.
- Intermediate exits (Bauer) 7.44.
Array declarations
- Why are they there? (Bring, Ehrling) 2.5.2, 3.5, (Regencentralen) 5.18.
- To help reading (Rutishauser) 7.17.
- Restrict permissible parameters in bounds: (Regencentralen) 5.12. Discussion 7.4.
Functions and procedures entered through heading
- Proposal (Paris sub-com.) 4.9. Approval (Hailufterl) 5.5.
- Use word `REQUIRE' (Rutishauser) 7.10.
- Should hold for procedures also (Paris sub-com.) 7.28.2.
Built-in library functions
- Library declaration (Ehrling) 5.13.3.
- Enter all functions though heading (Regencentralen) 7.39.
- Formalism for procedures as input parameters (Regencentralen) 7.11.
Input-Output
INPUT, OUTPUT, FORMAT (Paris sub-com.) 4.6.
Auxiliary Information
- Idea (Paris sub-com.) 4.13, Further explanation (Paris subcom.) 7.28.4.
- Suggestion on effect, form and symbol (Regencentralen) 5.8. Approval (Mathetikmaskinn.),
(Facit), (SAAB) 7.3.
- Philosophy (Samelson) 7.3.3.
Programs
- The uses of a program heading (Regencentralen) 7.38.
- Programs as statements (Samelson) 7.24. (Bauer) 7.42.
Extensions of Fundamental Operations
- Generalize logical operations (Garwick) 4.16. Criticism (Rutishauser) 5.11.
- Include vector- matrix- etc. arithmetics (van Wijngaarden, Dijkstra) 7.35.
- Extension to string-handling (Bauer) 7.46.
The Need for a new type of Program Section
(Siemens) 7.30.
This index
Page 1 of index.
Page 2 of index.
A Version control
Started, 29th October 2003. Completed, 21st November 2003.
File translated from
TEX
by
TTH,
version 3.38.
On 6 Dec 2003, 15:18.