Fallunterscheidungen (case ...of)


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 )



Johannes Waldmann 2007-06-21