Type error in string shuffle function
问题 I have tried to create my own string shuffle function: import System.Random -- usage case: my_shuffle "something" "" my_shuffle :: [Char] -> [Char] -> [Char] my_shuffle [] result = result my_shuffle s result = do pos <- randomRIO (1, length s) my_shuffle (remove_char pos) (result ++ (get_char pos)) get_char :: [Char] -> Int -> Char get_char s pos = s !! (pos - 1) remove_char :: [Char] -> Int -> [Char] remove_char s pos = take (pos - 1) s ++ drop pos s It returns the error message: