once¶
Wraps a sequence of plan items that should run only once for its tracking marker.
Attribute, children, and placement¶
| Attribute | Meaning |
|---|---|
id | Optional marker name. Reusing the same value shares once-state across blocks. |
The child content is a plan sequence and may contain plan items including conditional branches. A once block can appear in a plan or postplan.
Behavior and usage¶
Tala tracks the marker as a Boolean private belief. If it is already set, the block is skipped; otherwise Tala sets it and executes the child plan. The block can run again after a session restart or if its marker is forgotten with forget / forget_all. Without an id, Tala creates a unique marker. Avoid nesting once blocks because the resulting execution behavior is not defined.
An id lets separate plan and postplan blocks share one run marker: