Euler ist eine 1965 von Niklaus Wirth und Helmut Weber an der Stanford University entwickelte Programmiersprache, die ALGOL 60 generalisiert. Sie entstand als Teil von Wirths Dissertation und zeigt, wie sich ein minimaler Sprachkern mit formaler Definition um Typ- und Strukturmechanismen erweitern lässt.
Hintergrund
Euler behandelt Datentypen und Kontrollstrukturen einheitlich über ein kleines Typsystem: Typen sind selbst Werte, Listen und Prozeduren lassen sich kombinieren. Die formale Semantik wurde mit einer operativen Methode definiert — ein frühes Vorbild für die spätere Arbeit an ALGOL W und Pascal. Der Interpreter wurde in ALGOL W geschrieben.
Kernkonzepte
- Einheitliche Behandlung von Ausdrücken und Anweisungen
- Typen als Werte erster Klasse
- Verschachtelte Prozeduren und lexikalische Bindung (ALGOL-Prinzip)
- Listen als zusammengesetzte Datenstrukturen
Euler ist vor allem historisch bedeutsam: Aus der Linie Euler, ALGOL W und PL/0 entstand die pragmatische Wirth-Schule des Compilerbaus, die in Pascal und Modula-2 mündete. Die Idee, wenige mächtige Mechanismen einheitlich zu behandeln, findet sich später auch in der skandinavischen Schule wieder: BETA führt mit dem Pattern ein einziges Konzept für Klassen, Methoden und Prozesse.
Verwandte Grundlagen: ALGOL-Befehle, PL/0-Befehle, Pascal-/Delphi-Befehle.