--Cookbook.Recipes.Algorithm
--Used for traversing data structures.
module Cookbook.Recipes.Algorithm(climb) where

import Cookbook.Recipes.DataStructures

climb :: (Tree a) -> a -> [a]
climb x c = case x of (Empty) -> [];
                      (Branch a (Empty) b) -> a : climb b c
                      (Branch a b (Empty)) -> a : climb b c
                      (Branch a b d) -> a : climb b c ++ climb d c