Project Details
Eine generische funktionale Programmiersprache: Theorie, Sprachentwurf, Implementierung und Anwendung
Applicant
Dr. Ralf Hinze
Subject Area
Image and Language Processing, Computer Graphics and Visualisation, Human Computer Interaction, Ubiquitous and Wearable Computing
Term
from 2004 to 2007
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 5444787
Funktionale Programmiersprachen sind Vorreiter für statische Typsysteme. Statische Typen dienen der Vermeidung von Laufzeitfehlern, indem zur Entwicklungszeit sichergestellt wird, dass Programme ihre Daten in konsistenter Weise verwenden. Je mehr Eigenschaften der verwendeten Daten im Typsystem erfasst werden, desto zuverlässiger arbeitet ein Programm. Eine Vielzahl von verwendeten Datentypen steht jedoch der Wiederverwendbarkeit von Programmcode entgegen: Die meisten Operationen lassen sich weder auf alle Datentypen in gleicher Weise übertragen, noch sind sie völlig unabhängig von der Natur des zugrundeliegenden Typs. Alle Datentypen haben jedoch eine gemeinsame Struktur (Record- und Union-Typen gepaart mit Rekursion), und wenn man erlaubt, über diese Struktur zu abstrahieren, kann man genetische Programme schreiben, die sich für eine Vielzahl von Datentypen wiederverwenden lassen und die sieh bei Änderungen von Datentypen automatisch an die neuen Gegebenheiten anpassen. Da die Entwicklung auf dem Gebiet der Typsysteme große Fortschritte macht und zu erwarten ist, dass die formale Verifikation von Programmen weiterhin an Bedeutung gewinnt, wird auch die genetische Programmierung zunehmend unentbehrlich. Wir wollen bisherige, sprachspezifische ad-hoc-Lösungen auf eine allgemeine Basis stellen, ohne dabei die Implementation aus den Augen zu verlieren: Wie soll eine ideale genetische Programmiersprache aussehen? Wie kann sie effizient implementiert werden? Welche bekannten Anwendungen lassen sich effizienter oder eleganter lösen und welche neuen Anwendungen erschließen sich?
DFG Programme
Research Grants