@@ -88,6 +88,14 @@ drop O xs = xs
88drop (S n) [] = []
88drop (S n) [] = []
89drop (S n) (x::xs) = drop n xs
89drop (S n) (x::xs) = drop n xs
91+takeWhile : (a -> Bool) -> List a -> List a
93+takeWhile p (x::xs) = if p x then x :: takeWhile p xs else []
95+dropWhile : (a -> Bool) -> List a -> List a
97+dropWhile p (x::xs) = if p x then dropWhile p xs else x::xs
91--------------------------------------------------------------------------------
99--------------------------------------------------------------------------------
93--------------------------------------------------------------------------------
101--------------------------------------------------------------------------------