[英]Haskell IO action in `StateT a STM b`
我想在StateT a STM b
內部運行randomIO
但出現此錯誤:
Expected type: StateT Session STM Float
Actual type: IO Float
因此,我嘗試從Control.Monad.Trans.Class
(由State的Strict模塊重新導出)中進行lift
:
Expected type: StateT Session STM Float
Actual type: StateT Session IO Float
距離較近,但距離那里不遠。 我無法liftIO
因為STM
沒有MonadIO
實例。
我如何才能編譯它,以便可以在randomIO
STM
內部運行StateT
?
根據評論,我正在嘗試一些愚蠢的事情。 相反,我使用randomRs (0.0, 1.0) g
向函數傳遞了我需要的隨機Float
列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.