Umfang

Dieses Thema kann als Bachelorarbeit oder Teil einer Projektarbeit bearbeitet werden.

Empfohlene Vorkenntnisse

  • gute Prolog Kenntnisse (z.B. durch Besuch der Veranstaltung “Einführung in die logische Programmierung”)
  • optional: Kenntnisse in C / C++

Problem

In Prolog gibt es nur sehr limitierte Datenstrukturen:

  • Terme haben in der Regel maximal eine Arität von 255.
  • Listen kann man nur effizient vorne betrachten oder manipulieren.
  • Die meisten Prolog Implementierungen liefern AVL-Bäume mit aus, die binär sind.
  • SICStus Prolog bietet unter anderem auch Arrays.

Es gibt jedoch viele interessante Datenstrukturen, z.B. HAMT, die man sehr gut in Prolog implementieren kann.

Minimalanforderungen

  • Implementierung und sinnvolle Evaluation von Datenstrukturen in Prolog.

Variationen

  • Es ist möglich, über das Foreign-Function Interface (FFI) auch Datenstukturen in C zu implementieren.

Kontakt

Philipp Körner
Raum 25.12.02.56
p.koerner@hhu.de