Detailseite
Projekt Druckansicht

Eine generische funktionale Programmiersprache: Theorie, Sprachentwurf, Implementierung und Anwendung

Antragsteller Dr. Ralf Hinze
Fachliche Zuordnung Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Förderung Förderung von 2004 bis 2007
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 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-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung