parseString :: String -> Int -> Int -> [String] parseString [] _ _ = [] parseString s nr k = (rotL (take nr s) k) : (parseString (drop nr s) nr k) rotL :: String -> Int -> String rotL s 0 = s rotL s k = rotL aux (k-1) where aux = rotL' s rotL' :: String -> String rotL' [] = [] rotL' (s:ss) = ss ++ [s]