{-# LANGUAGE FlexibleInstances, UndecidableInstances #-} -- | -- Module : Simulation.Aivika.IO.SD -- Copyright : Copyright (c) 2009-2016, David Sorokin <david.sorokin@gmail.com> -- License : BSD3 -- Maintainer : David Sorokin <david.sorokin@gmail.com> -- Stability : experimental -- Tested with: GHC 8.0.1 -- -- It allows making the 'MonadIO'-based monad an instance of type class 'MonadSD' -- used for System Dynamics (SD). -- module Simulation.Aivika.IO.SD () where import Control.Monad.Trans import Simulation.Aivika.IO.Comp import qualified Simulation.Aivika.IO.Dynamics.Memo as M import qualified Simulation.Aivika.IO.Dynamics.Memo.Unboxed as MU import Simulation.Aivika.Trans.Comp import Simulation.Aivika.Trans.SD import Simulation.Aivika.Trans.Template -- | A template-based instantiation of the 'MonadSD' type class. instance (Monad m, MonadComp m, MonadIO m, MonadTemplate m) => MonadSD m where {-# SPECIALISE instance MonadSD IO #-}