Vorlesung: Praxis der Funktionalen Programmierung


Tree Fold

Erinnern wir uns an foldr, den passenden Iterator für Listen. Passend deswegen, weil wir einfach die Konstruktoren durch Funktionen ersetz haben.

Der Listentyp hat die Konstruktoren (:) :: a -> [a] -> [a] und [] :: [a], deswegen bekommt foldr zwei Argumente, nämlich Funktionen vom Typ a -> b -> b sowie b.

Das gleiche Verfahren liefert den passenden Iterator für Bäume: wir ersetzen die Konstruktoren Node und Leaf durch Funktionen vom richtigen Typ, und können damit die primitiv rekursiven Funktionen über Bäumen darstellen (Quelltext).

Hausaufgabe


best viewed with any browser


http://www.informatik.uni-leipzig.de/~joe/ mailto:joe@informatik.uni-leipzig.de