HOME

TheInfoList



OR:

Euler is a
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
created by Niklaus Wirth and Helmut Weber, conceived as an extension and generalization of
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
. The designers' goals were to create a language that is: * Simpler, yet more flexible, than ALGOL 60 * Useful and processed with reasonable efficiency * Definable with rigorous formality Available sources indicate that Euler was operational by 1965.


Overview

Euler employs a general
data type In computer science and computer programming, a data type (or simply type) is a set of possible values and a set of allowed operations on it. A data type tells the compiler or interpreter how the programmer intends to use the data. Most progra ...
concept. In Euler, arrays, procedures, and switches are not quantities which are declared and named by identifiers: in contrast to
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
, they are not quantities on the same level as variables. Rather, these quantities are on the level of numeric and boolean
constants Constant or The Constant may refer to: Mathematics * Constant (mathematics), a non-varying value * Mathematical constant, a special number that arises naturally in mathematics, such as or Other concepts * Control variable or scientific const ...
. Thus, besides the traditional numeric and logical constants, Euler introduces several added types: * Reference *
Label A label (as distinct from signage) is a piece of paper, plastic film, cloth, metal, or other material affixed to a container or product, on which is written or printed information or symbols about the product or item. Information printed ...
*
Symbol A symbol is a mark, sign, or word that indicates, signifies, or is understood as representing an idea, object, or relationship. Symbols allow people to go beyond what is known or seen by creating linkages between otherwise very different conc ...
* List (array) * Procedure * Undefined All constants can be assigned to variables, which have the same form as in ALGOL, but for which no fixed types are specified: Euler uses
dynamic typing In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer progra ...
. Further, a procedure can produce a value of ''any'' type when executed, and this type can vary ''from one call of the procedure to the next''. Similarly, the elements of a list can have values of any type and these can differ from element to element within a list. So, when the list elements are labels, a switch is obtained. If the elements are procedures, a procedure list is obtained, which is unavailable in ALGOL 60. If the elements are lists themselves, then a general tree structure is obtained. Euler provides general type-test and type-conversion operators.


See also

*
Wirth–Weber precedence relationship In computer science, a ''Wirth–Weber relationship'' between a pair of symbols (V_t \cup V_n) is necessary to determine if a formal grammar is a simple precedence grammar. In such a case, the simple precedence parser can be used. The relationship ...
* Simple precedence parser


References


External links

* {{DEFAULTSORT:Euler (Programming Language) Dynamically typed programming languages