Rekursive Datentypen und Funktionen

Wenn der Datentyp rekursiv ist,
dann auch die Funktion, die ihn verarbeitet:

data Tree a = Leaf {}
    | Branch { left :: Tree a, key :: a
             , right :: Tree a}
leaves :: Tree a -> Int
leaves t = case t of
    Leaf   {} -> 1
    Branch {} -> ...

Aufgabe: erzeuge und bestimme Blatt-Anzahl für:



Johannes Waldmann 2012-06-25