aivika-gpss-0.6.2: GPSS-like DSL for Aivika
CopyrightCopyright (c) 2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.Trans.GPSS.Block

Description

Tested with: GHC 8.0.2

This module defines a GPSS block.

Synopsis

Documentation

newtype Block m a b Source #

Represents a GPSS block.

Constructors

Block 

Fields

Instances

Instances details
MonadDES m => Category (Block m :: Type -> Type -> Type) Source # 
Instance details

Defined in Simulation.Aivika.Trans.GPSS.Block

Methods

id :: forall (a :: k). Block m a a #

(.) :: forall (b :: k) (c :: k) (a :: k). Block m b c -> Block m a b -> Block m a c #

newtype GeneratorBlock m a Source #

Represents a GPSS generator block.

Constructors

GeneratorBlock 

Fields

withinBlock Source #

Arguments

:: MonadDES m 
=> Process m ()

the action to be executed for each transact

-> Block m a a 

Perform some action within the block, for example, opening or inverting the Gate to emulate the LOGIC block.

processBlock Source #

Arguments

:: MonadDES m 
=> (a -> Process m b)

process the transact

-> Block m a b 

Process every transact within the block.

traceBlock :: MonadDES m => String -> Block m a b -> Block m a b Source #

Trace the specified block.