+++ /dev/null
---!!! ds025 -- overloaded assoc -- AbsBinds
-
-module Util where
-
-ehead xs loc | null xs = error ("4"++loc)
- | True = head xs
-
-assoc key lst loc
- = if (null res) then error ("1"++loc++"2"++(show key))
- else (ehead res "3")
- where res = [ val | (key',val) <- lst, key==key']
-
-assocMaybe :: (Eq a) => a -> [(a,b)] -> Maybe b
-assocMaybe key lst
- = if (null res) then Nothing else (Just (head res))
- where res = [ val | (key',val) <- lst, key==key']
-
-data Maybe a = Just a | Nothing deriving ()