Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type KeyVal a b = (a, b)
- type Map a b = [KeyVal a b]
- test = initmap ["a","b","c"] [1,2,3]
- myZip (k:ks) (v:vs) = [(k,v)] ++ myZip ks vs
- myZip [] [] = []
- get_key (a, b) = a
- get_val (a, b) = b
- initmap :: [a] -> [b] -> (Map a b)
- initmap [] [] = []
- initmap keys values = (myZip keys values)
- find:: (Eq a) => (Map a b) -> a -> b -> b
- find [] key def = def
- find (m:ms) key def | (get_key m) == key = (get_val m)
- | otherwise = (find ms key def)
- delete :: (Eq a) => (Map a b) -> a -> (Map a b)
- delete map key = [y | y <- map, (get_key y) /= key]
- add :: (Eq a) => (Map a b) -> a -> b -> (Map a b)
- add map key value = ([(key,value)] ++ (delete map key))
Add Comment
Please, Sign In to add comment