Euler (programming language)
Euler | |
---|---|
Paradigms : | imperative |
Publishing year: | 1966 |
Designer: | Niklaus Wirth |
Developer: | Niklaus Wirth , Helmut Weber |
Typing : | dynamically typed |
Influenced by: | ALGOL 60 |
Affected: | Pascal |
Euler is a programming language developed by Niklaus Wirth and Helmut Weber , designed as an extension and generalization of ALGOL 60 . It was published in 1966. The goals of the development of this new programming language were:
- simpler and yet more flexible than ALGOL 60
- usable programming language that ran at a reasonable speed
- precise formal definability
Overview
One of the big differences to ALGOL is the extended type concept. Lists (arrays), procedures and branches are not defined on the level of variables as in ALGOL, but on the level of constants. That means lists, branches and even procedures could be assigned to variables. In addition to the traditional numerical and logical constants, the following types could be used in Euler.
- credentials
- Labels
- Symbols
- Lists (arrays)
- Procedures
- Undefined
All kinds of constants can be assigned to variables. Variables have the same form as in ALGOL with the exception that the variable type is not specified. Euler is a dynamically typed programming language. A procedure can return a value of any type as the result of its execution. This type can also change each time the procedure is called. Similarly, the elements of a list (array) can be of any type. Example: A list with elements of the type "Label" creates a branch . A list of procedures creates a procedure list that is not available in ALGOL60 (quasi a jump list). A list of elements of the list type enables a general tree structure to be formed. Euler has general operators for controlling and converting types. Euler's garbage collection and a large part of the interpreter in the Burroughs - B5500 Computers wrote William M. McKeeman.
literature
- Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and formal definition its: Part I . Communications of the ACM 1966; 9 (1): pp. 13-25; Full text
- Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and its formal definition: Part II . Communications of the ACM 1966; 9 (2): pp. 89-99; Full text
- Karlheinz Natt, Claus Simon: The EULER compiler for the computer system CD 3300 of the computer center of the Saarland University, 1972
- Thomas W. Christopher: EULER. An Experiment in Language Definition . Illinois Institute of Technology, 1997. Full text