Programmierpraktikum

Funktionale und logische Programmierung

Funktionale und logische Programmiersprachen erlauben abstrakte, problemorientierte Formulierung von Algorithmen, bieten aber gleichzeitig genügend Potential sowohl für effiziente Ausführung als auch für unmittelbare Verifikation mit mathematischen Mitteln. In funktionalen Sprachen werden Programme durch eine Menge rekursiver Gleichungen dargestellt, während in logischen Sprachen Programme als Systeme von Schlußregeln repräsentiert werden. Die Verwendung von fortschrittlichen Konzepten wie rekursiven Datentypen, höherstufigen Funktionen und Modulen, sowie Prädikaten, logischen Formeln und Suche macht funktionale und logische Programme oft prägnanter und leichter verständlich als Programme in imperativen Sprachen wie C oder Java.

Ziel des Praktikums ist das Erlernen typischer Programmiertechniken für funktionale und logische Sprachen, sowie Möglichkeiten der Kombination dieser beiden Programmierparadigmen. Insbesondere sollen auch Verfahren zur Interpretation und Übersetzung derartiger Sprachen implementiert werden, wobei spezielle Techniken der Codegenerierung und Datenflußanalyse zum Einsatz kommen sollen.

Dieses Programmierpraktikum ist keine Trockenübung: die besten Lösungen werden in ein real existierendes System integriert, in die weltweit benutzte Spezifikations- und Verifikations-Umgebung Isabelle.

Inhalt

Aufgaben- und Merkblätter

ML-Files

Literatur

Software

Aktuelle Hinweise

Organisatorisches

Leitung: Prof. Tobias Nipkow, Ph.D., E-Mail: nipkow@in.tum.de
Stefan Berghofer, E-Mail: berghofe@in.tum.de
Termin: Donnerstag 14.00-16.00 (wöchentlich)
Raum: 1546
Beginn: 4. Mai 2000
Teilnehmerkreis: Studierende der Informatik im Grundstudium
Teilnehmerzahl: maximal 20
Gruppengröße: Das Praktikum findet in Gruppen mit je 2-3 Personen statt. Wünsche bzgl. der Gruppeneinteilung sind (nach erfolgreicher Anmeldung) an berghofe@in.tum.de zu richten.
Anmeldung: die zentrale Einschreibung findet wie üblich gegen Ende der Vorlesungszeit im Februar 2000 statt (Kennung prgprakt).
Voraussetzungen: Interesse an funktionaler / logischer Programmierung und Techniken des Übersetzerbaus


Stefan Berghofer
Last modified: Fri Jul 14 17:04:27 CEST 2000