blob: e36825c91741b241ddb4860d226639c15662af40 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
-- !!! ds025 -- overloaded assoc -- AbsBinds
{-# OPTIONS_GHC -Wno-x-partial #-}
module ShouldCompile 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']
|