next node: ComTimeout,
prev node: ComAgent,
up to node: Subsystem Concurrent Opal


ComChoice

This structure provides the monadic choice between commands.

Signature of ComChoice

List of Import References :
See BOOL
See Com
See DENOTATION
See Nat
See Option
See Seq
See Void

SIGNATURE ComChoice[data]

$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)

SORT data

IMPORT Com[data]   ONLY com 

Com1 + Com2 constructs a command which, upon execution, calls either the left or the right command, depending on which of both is first enabled. If both are enabled which one is choosen is undetermined. The choice is associative and commutative.

The neutral element is called deadlock, it is defined in ComAction.

FUN + : com ** com -> com

In the current implementation only a few commands (timeouts, waiting for an agents result and providing / requesting services) can be effectively used in a choice. All other commands (in particular Unix IO commands) will be treated as if they are always enabled.


next node: ComTimeout,
prev node: ComAgent,
up to node: Subsystem Concurrent Opal