data Tree a = Leaf {} | Branch { left :: Tree a , key :: a , right :: Tree a } branches :: Tree a -> Int branches t = case t of Leaf {} -> 0 Branch {} -> branches (left t) + 1 + branches (right t)
Zusammenhang:
Datentyp | Funktion |
zwei Konstruktoren | zwei Zweige |
rekursiv (Tree → Tree) | rekursiv (branches → branches) |