module Simulation.Aivika.GPSS.Block.Gather
(gatherBlock) where
import Simulation.Aivika
import Simulation.Aivika.GPSS.Block
import Simulation.Aivika.GPSS.AssemblySet
import Simulation.Aivika.GPSS.Transact
gatherBlock :: Int
-> Block (Transact a) (Transact a)
gatherBlock :: forall a. Int -> Block (Transact a) (Transact a)
gatherBlock Int
n =
Block { blockProcess :: Transact a -> Process (Transact a)
blockProcess = \Transact a
a -> forall a. Transact a -> Int -> Process ()
gatherTransacts Transact a
a Int
n forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall (m :: * -> *) a. Monad m => a -> m a
return Transact a
a }