Abstract

Tracen und Debuggen von Funktionalen Programmen mit verzögerter Auswertung

Üblicherweise sind die Ein-/Ausgabeaktionen das einzige beobachtbare Verhalten einer Berechnung. Programmierer wollen jedoch häufig sehen, wie die einzelnen Programmteile die Ein-/Ausgabeaktionen verursachen; insbesondere, um Fehler im Programm zu lokalisieren. Die üblichen Tracing-Methoden für imperative Sprachen sind jedoch ungeignet für funktionale Programmiersprachen mit verzögerter Auswertung.

An der University of York wird zur Zeit Hat, ein Tracing-Werkzeug für die funktionale Sprache Haskell, entwickelt. Hat ermöglicht mehrere unterschiedliche Sichten auf eine Berechnung: Funktionen werden als endliche Abbildungen dargestellt, algorithmisches Debuggen lokalisiert Programmfehler halb-automatisch und Redex Trails können von der falschen Ausgabe einer Berechnung rückwärts zur Fehlerstelle verfolgt werden. Wir stellen die Architektur von Hat und insbesondere die diversen Sichten vor.