--Cookbook.Ingredients.Tupples.Look
module Cookbook.Ingredients.Tupples.Look(look,lookList,swp,rmLook,group) where
look :: (Eq a) => [(a,b)] -> a -> (Maybe b)
look [] _ = Nothing
look (a:b) c = if fst a == c then Just (snd a) else look b c
lookList :: (Eq a) => [(a,b)] -> a -> [b]
lookList a b = map snd $ filter (\(c,d) -> c == b) a
swp :: (a,b) -> (b,a)
swp (a,b) = (b,a)
rmLook :: (Eq a) => [(a,b)] -> a -> [(a,b)]
rmLook [] _ = []
rmLook ((a,b):cs) d = if a == d then cs else (a,b) : rmLook cs d
group :: [a] -> [(a,a)]
group [] = []
group [x] = []
group (x:y:z) = (x,y) : group z