module Shaker.CommonUtil where separateEqual :: Eq a => [a] -> [[a]] separateEqual [] = [] separateEqual lst = foldl separateEqual' [] lst separateEqual' :: Eq a => [[a]] -> a -> [[a]] separateEqual' [] el = [[el]] separateEqual' (fstLst:xs) el | el `elem` fstLst = fstLst : separateEqual' xs el | otherwise = (fstLst++[el]):xs trimList :: [String] -> [String] trimList = map (dropWhile (== ' '))