相关疑难解决方法(0)

如何从一元行动中提取价值

是否有带签名的内置功能:: (Monad m) => m a -> a

Hoogle告诉我们没有这样的功能.

你能解释一下原因吗?

monads haskell comonad

39
推荐指数
6
解决办法
1万
查看次数

Haskell函数类型:IO String-> String

我在Haskell中编写了一堆代码来创建文本索引.top函数如下所示:

index :: String -> [(String, [Integer])]
index a = [...]
Run Code Online (Sandbox Code Playgroud)

现在我想给这个函数一个从文件读取的字符串:

index readFile "input.txt"
Run Code Online (Sandbox Code Playgroud)

哪个不起作用,因为readFile的类型为FilePath - > IO String.

无法将预期类型'String'与推断类型'IO String'匹配

我看到错误,但我找不到任何类型的函数:

IO String -> String
Run Code Online (Sandbox Code Playgroud)

我想成功的关键在于Monads的某些地方,但我找不到解决问题的方法.

io monads haskell readfile

35
推荐指数
4
解决办法
3万
查看次数

如何在Haskell中从monad中取出一个值?

有没有办法从单子中取出"东西"?

我正在开发一款游戏,现在我正在尝试了解数据库.我发现happstack非常好,但我无法得到这个东西.

例如,我有这个功能(希望你熟悉happstack)

getAllThings :: MonadIO m => m [Thing]
getAllThings = do
            elems <- query GetThings
            return elems
Run Code Online (Sandbox Code Playgroud)

所以我明白了m [Things],但我不能在我的模型中使用它!例如

doSomeThingWithThings :: [Thing] -> Something
Run Code Online (Sandbox Code Playgroud)

我用Google搜索了一下,但我一无所获.

monads haskell

12
推荐指数
1
解决办法
3241
查看次数

标签 统计

haskell ×3

monads ×3

comonad ×1

io ×1

readfile ×1