@@ -110,6 +110,13 @@ split p xs = case break p xs of
110 (chunk, []) => [chunk]
110 (chunk, []) => [chunk]
111 (chunk, (c :: rest)) => chunk :: split p rest
111 (chunk, (c :: rest)) => chunk :: split p rest
113+any : (a -> Bool) -> List a -> Bool
114+any predicate [] = False
115+any predicate (a::rest) =
118+ else any predicate rest
113--------------------------------------------------------------------------------
120--------------------------------------------------------------------------------
114-- Conversions
121-- Conversions
115--------------------------------------------------------------------------------
122--------------------------------------------------------------------------------
@@ -133,3 +140,24 @@ catMaybes (x::xs) =
133 Nothing => catMaybes xs
140 Nothing => catMaybes xs
134 Just j => j :: catMaybes xs
141 Just j => j :: catMaybes xs
143+--------------------------------------------------------------------------------
145+--------------------------------------------------------------------------------
147+instance (Eq a) => Eq (List a) where
149+ (==) (a::restA) (b::restB) =
156+instance Ord a => Ord (List a) where
160+ compare (a::restA) (b::restB) =
163+ else compare restA restB