Declarative Action Notation
Declarative action notation is primarily concerned with specifying the
processing of scoped information (bindings).
Actions
- All primitive declarative actions:
- Do not commit.
- Give no transients.
- Make no changes to storage.
- Do not communicate.
- Redirect no bindings.
- All declarative action combinators are:
- Functionally conducting
(see the basic action A1 and A2).
- bind T to Y: a primitive declarative action, where T is a token and
Y is a yielder of bindable data. Represents creating a piece of scoped
information.
- Indivisible. Completes when Y yields data of sort
bindable. Fails otherwise.
- Produces the binding of the token T to the bindable data.
- unbind T: a primitive declarative action,
where T is a token. Represents hiding a piece of scoped
information, making a hole in its scope.
- Indivisible. Completes.
- Produces the binding of the token T to the datum
unknown.
- rebind: a primitive declarative action. Represents propagation of scoped
information. Unit for the declarative action A1 hence A2.
- Indivisible. Always completes.
- Produces all received bindings.
- produce Y: a primitive declarative action.
Represents production of reified scoped information.
- Indivisible. Completes when Y yields a datum of sort
bindings.
- Produces the bindings yielded by Y.
- furthermore A: a declarative combination of the
action A. Represents propagating the received bindings, but
letting bindings produced by A take precedence when there is a
conflict.
- Basically as A.
- Functionally as A.
- Declaratively as rebind moreover A.
- A1 moreover A2: a declarative combination of actions A1 , A2. Like
A1 and A2, but gives priority to bindings produced by A2.
- Basically interleaving
(see the basic action A1 and A2).
- Declaratively overlaying: The bindings
received by the combination of A1 , A2 are received by
both A1 , A2. On normal termination the bindings produced
by A1, overlaid with those produced by A2, are produced
by the combined action.
- A1 hence A2: a declarative combination of actions A1 , A2.
Represents passing on scoped information, restricting the bindings
received by A2.
- Basically sequencing
(see the basic action A1 and then A2).
- Declaratively composing: The bindings received by the combination
of A1 , A2 are received by A1. Only the bindings produced by A1 are received
by A2 (provided that it is performed). Only the bindings
produced by A2 are produced by the combined action.
- A1 before A2: a declarative combination of actions A1 , A2.
Represents accumulating scoped information.
- Basically sequencing
(see the basic action A1 and then A2).
- Declaratively accumulating: The bindings
received by the combination of A1 , A2 are received by
A1. The bindings received by the combined action, overlaid with the
bindings produced by A1, are received by A2 (provided that
it is performed). On normal termination the bindings produced
by A1, overlaid with those produced by A2, are produced
by the combined action.
Yielders
Data

WebAni |
Ani |
RAT |
AG |
Actions |
People |
Action Notation |
Data Notation
[Created by Jin Jin Yi and Ana Carla Santos. Last modified at 21 Dec 1997 by Ana Carla]