ansi-terminal-game-1.9.4.0: src/Terminal/Game/Layer/Object/GameIO.hs
-------------------------------------------------------------------------------
-- Layer 2 (mockable IO), as per
-- https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html
-- 2019 Francesco Ariis GPLv3
-------------------------------------------------------------------------------
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Terminal.Game.Layer.Object.GameIO where
import qualified Control.Monad.Catch as MC
import qualified Control.Monad.Trans as T
newtype GameIO a = GameIO { runGIO :: IO a }
deriving (Functor, Applicative, Monad,
T.MonadIO,
MC.MonadThrow, MC.MonadCatch, MC.MonadMask)