簡體   English   中英

MonadIO可能

[英]MonadIO to Maybe

我一直在使用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 ,我們可能會看到一些東西作為即將到來的重新設計的一部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM