gpt4 book ai didi

haskell - MonadIO 到 Maybe

转载 作者:行者123 更新时间:2023-12-02 15:08:10 30 4
gpt4 key购买 nike

我一直在使用 HMatrix 进行线性代数,它是 linearSolve函数具有简单(尽管简洁)类型:

linearSolve :: Field t => Matrix t -> Matrix t -> Maybe (Matrix t)

我想尝试 sparse-linear-algebra图书馆,它是 <\>函数(不是 HMatrix 中的 <\> 函数),其类型为:

(<\>) :: (MonadIO m, MonadThrow m) => MatrixType v -> v -> m v

虽然我想使用它提供的附加信息,但我想从类型的直接替换开始:

MatrixType v -> v -> Maybe v

这样我就不必将代码一直重写回 main 。我怎样才能做到这一点?

我对 Haskell 还很陌生,而且仍然处于“哦!我现在理解 monad 了。不!等等!它又消失了”阶段。

谢谢

最佳答案

根据评论,看起来是这样的:

  1. 一旦进入 Monad IO,就无法逃脱。因此,最初的新手 Haskeller 问题的答案是“你不能”
  2. 库作者 @ocramz 已有使用 MonadLogger 的计划,我们可能会在即将进行的重新设计中看到一些内容

关于haskell - MonadIO 到 Maybe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49454057/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com