This structure provides the monadic choice between commands.
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