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 Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist. He has designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally ...
and Helmut Weber, conceived as an extension and generalization of ALGOL 60. 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 An array is a systematic arrangement of similar objects, usually in rows and columns. Things called an array include: {{TOC right Music * In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
,
procedures Procedure may refer to: * Medical procedure * Instructions or recipes, a set of commands that show how to achieve some result, such as to prepare or make something * Procedure (business), specifying parts of a business process * Standard opera ...
, 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. 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 dir ...
*
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 *
Simple precedence parser In computer science, a simple precedence parser is a type of bottom-up parser for context-free grammars that can be used only by simple precedence grammars. The implementation of the parser is quite similar to the generic bottom-up parser. A stack ...


References


External links

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