| << 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 >> |