aivika-gpss-0.6: GPSS-like DSL for Aivika

CopyrightCopyright (c) 2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

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

MonadDES m => Category * (Block m) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat 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.