通过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
答案 0 :(得分:6)
atomically $ readTVar checking
做你想要的。 GHCi REPL会自动执行您提供的任何IO操作。