sortL :: [String] -> [String] sortL l = map sort (map (filter (/= '#')) l) comp :: [String] -> [String] -> [(String,String)] comp x y = filter (\(x,y) -> x==y) (zip x y) firsts :: [String] -> [String] -> [String] firsts a b = map fst $ comp a b transl :: [String] -> [String] -> [String] transl a b = map snd $ filter (==(map fst (comp (firsts a b) (map fst a)))) a -- error