Глядя на стоимость 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 автоматически выполняет любое действие ввода-вывода, которое вы ему даете.

Другие вопросы по тегам