看GHCi中TVar的价值

时间:2014-01-08 06:53:26

标签: 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

1 个答案:

答案 0 :(得分:6)

atomically $ readTVar checking做你想要的。 GHCi REPL会自动执行您提供的任何IO操作。