Looking at the value of a TVar in GHCi

ghci, haskell, stm, tvar

Solution

`atomically $ readTVar checking` does what you want. The GHCi REPL automatically executes any IO action that you give it.

Problem

Working through Simon Peyton Jones concurrency example, I have the following code: ``` import Control.Concurrent.STM import Control.Concurrent.STM.TVar deposit account amount = do bal <- readTVar account writeTVar account (bal+amount) ``` I am trying to test this in GHCi REPL ``` *Main> checking <- atomically $ newTVar 100 *Main> atomically $ deposit checking 10 ``` How do I verify my checking balance is $110? I have tried ``` *Main> checking *Main> readTVar checking *Main> balance <- readTVar checking ```

Original source