haskell - 查看 GHCi 中 TVar 的值

标签 haskell ghci stm tvar

正在处理Simon Peyton Jones并发示例,我有以下代码:

import Control.Concurrent.STM
import Control.Concurrent.STM.TVar

deposit account amount = do
    bal <- readTVar account
    writeTVar account (bal+amount)

我正在尝试在 GHCi REPL 中测试这一点

*Main> checking <- atomically $ newTVar 100
*Main> atomically $ deposit checking 10

如何验证我的支票余额是否为 110 美元?

我已经尝试过

*Main> checking
*Main> readTVar checking
*Main> balance <- readTVar checking

最佳答案

原子地 $ readTVar 检查 执行您想要的操作。 GHCi REPL 会自动执行您指定的任何 IO 操作。

关于haskell - 查看 GHCi 中 TVar 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20988875/

相关文章:

opencv - 如何在 Haskell 中使用 fromPtr 正确构建 Accelerate 数组?

haskell - 如何找出哪些(具体)类型满足一组类型类约束?

haskell - 如何在 Yesod Application 中的 GHCi 中执行数据库查询

haskell - 拥抱、Yhc 和 GHCi 之间的差异

haskell - STM 和传出 IO

haskell - 使用 CSS 或模板自定义 Pandoc 的 HTML 输出

haskell - GHC - 将迭代变成一个紧密的循环

json - 如何使用 Aeson 解析此 JSON?

java - stm实现问题

java - Proguard 在 Scala 代码上崩溃,具体取决于 Multiverse STM