{-# LANGUAGE FlexibleInstances #-}
module Simulation.Aivika.Branch.BR
(BR,
runBR,
branchLevel) where
import Simulation.Aivika.Trans.Comp
import Simulation.Aivika.Trans.DES
import Simulation.Aivika.Trans.Exception
import Simulation.Aivika.Trans.Generator
import Simulation.Aivika.Trans.Event
import Simulation.Aivika.Trans.Ref.Base
import Simulation.Aivika.Trans.QueueStrategy
import Simulation.Aivika.IO
import Simulation.Aivika.Branch.Internal.BR
import Simulation.Aivika.Branch.Event
import Simulation.Aivika.Branch.Generator
import Simulation.Aivika.Branch.Ref.Base.Lazy
import Simulation.Aivika.Branch.Ref.Base.Strict
import Simulation.Aivika.Branch.QueueStrategy
instance MonadDES (BR IO)
instance MonadComp (BR IO)
instance EventIOQueueing (BR IO) where
enqueueEventIO :: Double -> Event (BR IO) () -> Event (BR IO) ()
enqueueEventIO = forall (m :: * -> *).
EventQueueing m =>
Double -> Event m () -> Event m ()
enqueueEvent