size :: Tree a -> Int
size t = case t of
Leaf -> 1
Node { } -> size (left t)
+ size (right t)
passend zu Data-Deklaration
module Tree where
data Tree a = Leaf
| Node { key :: a
, left :: Tree a
, right :: Tree a
}
deriving ( Eq, Show )