序言一個MonadTransformer到類型檢查了已經完成的動作
這是那些我認爲,有人已經解決了我的問題的問題之一,但我不知道去哪裏找。
問題
我要找攜帶的是這樣的單子堆棧的操作將無法進行類型檢查,除非它是完整的完全或不完全的想法MonadTransformer。
我的情況
我有一個單子與持有兆乏的狀態疊加。未能寫入此MVar將導致thread blocked indefinitely in an MVar
異常。我可以檢查MVar本身,但將它交給另一個線程(遵循相同的規則)也是獲得MVar填充的有效方法(正如拋出一個錯誤)。
我正在尋找某種方式讓typechecker拋出一個錯誤,如果其中一個條件沒有被monad運行時所滿足。我可以在運行時檢查,但我認爲可能有一種使用類型系統的方法。
不是Haskell,但很有趣:http://docs.idris-lang.org/zh/latest/st/ – danidiaz