Common Lisps dreiteiliges Typsystem: Typen, Klassen und die Wahrheit der Maschine
Dieser Artikel befasst sich mit den einzigartigen Aspekten des Typsystems von Common Lisp. Es ist weder einfach statisch noch dynamisch, sondern ein ausgeklügeltes Zusammenspiel von Typen, Klassen und der zugrundeliegenden Maschinenimplementierung. Typen steuern die Kompatibilität von Funktionsaufrufen, die Kompatibilität von Strukturfeldern und Compileroptimierungen; Klassen bestimmen die Methodenverteilung und die objektorientierte Vererbung; während die Maschine Implementierungsdetails wie Typ-Tags verbirgt. Anhand von Beispielen zeigt der Artikel, wie Common Lisp die Flüssigkeit dynamischer Sprachen mit Laufzeit- und Kompilierzeit-Typprüfung und Optimierung in Einklang bringt, wodurch letztendlich die Debuggbarkeit und Leistung verbessert werden.