Euler (programming language)

from Wikipedia, the free encyclopedia
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