{-# LANGUAGE Arrows #-} {-# LANGUAGE ScopedTypeVariables #-} module Cell.Monad.Trans where -- transformers import Control.Monad.Trans.Reader -- test-framework import Test.Framework -- test-framework-quickcheck2 import Test.Framework.Providers.QuickCheck2 -- QuickCheck import Test.QuickCheck hiding (output) -- essence-of-live-coding import LiveCoding import Util test = testGroup "Cell.Monad.Trans" [ testProperty "readerC" $ inIdentityT $ proc (n :: Int) -> do nReader <- runReaderC' $ constM ask -< (n, ()) returnA -< n === nReader ]