我用 Haskell 写了一些代码来创建文本索引。顶层函数看起来像这样:
index :: String -> [(String, [Integer])]
index a = [...]
现在我想将这个函数赋予一个从文件中读取的字符串:
index readFile "input.txt"
这行代码是无法工作的,因为readFile的类型为 FilePath -> IO String。
期望的类型是'String', 而推断出的类型是 'IO String'
我看到了错误,但我找不到任何类型为:
IO String -> String
我猜成功的关键在于某些单子上,但我找不到解决问题的方法。