string to list haskell

To convert a string to a list in Haskell, you can use the Data.List module, specifically the Data.List.split function. Here is an example:

import Data.List (split)

stringToList :: String -> [Char]
stringToList str = split str

In this example, the split function takes a string str as input and returns a list of characters. The resulting list will contain each character of the input string as a separate element.

Alternatively, you can use the Data.List module's Data.List.unfoldr function to achieve the same result:

import Data.List (unfoldr)

stringToList :: String -> [Char]
stringToList str = unfoldr (\x -> case x of [] -> Nothing; (y:ys) -> Just (y, ys)) str

This implementation uses the unfoldr function to generate a list by repeatedly applying a function to a seed value. In this case, the function checks if the input string str is empty. If it is, it returns Nothing to stop the generation of the list. Otherwise, it returns Just (y, ys), where y is the first character of the string and ys is the remaining characters.

Both implementations will convert a string to a list of characters in Haskell.