{-# LANGUAGE FlexibleContexts #-}
-- |
-- Module : Simulation.Aivika.Trans.SD
-- Copyright : Copyright (c) 2009-2017, David Sorokin <david.sorokin@gmail.com>
-- License : BSD3
-- Maintainer : David Sorokin <david.sorokin@gmail.com>
-- Stability : experimental
-- Tested with: GHC 8.0.1
--
-- It defines a type class of monads for System Dynamics (SD).
--
module Simulation.Aivika.Trans.SD (MonadSD) where
import Simulation.Aivika.Trans.Comp
import qualified Simulation.Aivika.Trans.Dynamics.Memo as M
import qualified Simulation.Aivika.Trans.Dynamics.Memo.Unboxed as MU
-- | A type class of monads for SD.
class (MonadComp m,
M.MonadMemo m,
MU.MonadMemo m Double,
MU.MonadMemo m Float,
MU.MonadMemo m Int) => MonadSD m