| << Prev | – Up – | Next >> |
Combinator This chapter describes deep-guard concurrent constraint combinators such as conditional and disjunction. Most combinators implemented by the module Combinator are available by convenient syntax and are described in Chapter 12 of “Tutorial of Oz”.
'not'
{Combinator.'not'+P}
implements deep-negation where the nullary procedure P gives the statement to negate.
Is supported by special syntax. The statement
notSend
expands to
{Combinator.'not' proc {$}Send}
'reify'
{Combinator.'reify'+P$D}
implements deep-reification where the nullary procedure P gives the statement to reify.
'cond'
{Combinator.'cond'+T+P}
implements parallel concurrent conditional.
'or'
{Combinator.'or'+T}
implements disjunction. T is a tuple of either nullary or unary procedures. The special syntax statement
orS1
[]S2
[]S3thenS4
end
corresponds to the following
local
proc {C1}S1end
proc {C2}S2end
fun {C3}S3proc {$}S4end end
in
{Combinator.'or' C1#C2#C3}
end
'choice'
{Combinator.'choice'+T}
implements choice point construction.
'dis'
{Combinator.'dis'+T}
implements andorra-style disjunction.
| << Prev | – Up – | Next >> |