Глядя на стоимость TVar в GHCi
Работая с примером параллелизма Саймона Пейтона Джонса, у меня есть следующий код:
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 ответ
Решение
atomically $ readTVar checking
делает то, что вы хотите. GHCi REPL автоматически выполняет любое действие ввода-вывода, которое вы ему даете.