我一直在使用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来说相当新,但仍然在&#34;哦!我现在了解monad。没有!等待!它再次消失了#34;相。
由于
答案 0 :(得分:1)
根据评论看来:
Monad IO
,就没有逃脱。因此,原来新手Haskeller问题的答案是“你不能”MonadLogger
,我们可能会看到即将进行重新设计的一部分