Haskell:将char和列表粘合在一起?

Vin*_*ent 3 haskell

所以我在这里有这个代码:

toWords :: String -> [String]
toWords "" = []
toWords (nr1 : rest)
    | nr1 == ' ' = toWords rest
    | otherwise = [nr1] : toWords rest
Run Code Online (Sandbox Code Playgroud)

"toWords"函数应该只删除所有空格并返回包含所有单词的列表.但这发生了:

*主要> toWords"你好吗?"

["你好吗","?"]

Mar*_*náš 5

这只是我,还是你试图从Prelude重新发明"单词"功能?