[ The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# Advanced Control and Suspensions

Everything related to suspensions, priority- and data-driven control

## Predicates

> attach_suspensions(+Trigger, ++Susps)
>   Insert the suspensions Susps into the suspension list of the symbolic trigger Trigger.
> attached_suspensions(+Trigger, -SuspensionList)
>   Retrieves a list of all suspensions attached to the symbolic trigger Trigger.
> call_priority(+Goal, +Priority)
>   Execute Goal with priority Priority.
> current_suspension(?Susp)
>   Susp is a live (sleeping or scheduled) suspension.
> current_trigger(?Trigger)
>   Succeeds if Trigger is a currently defined symbolic trigger.
> delayed_goals(-GoalList)
>   Succeeds if GoalList is the list of all goals currently delayed.
> delayed_goals(?Var, -GoalList)
>   Succeeds if GoalList is the list of all goals delayed by the variable Var.
> delayed_goals_number(?Var, -Number)
>   Succeeds if Number is the number of goals delayed by the variable Var.
> enter_suspension_list(+Position, +Attribute, +Susp)
>   Enter the suspension Susp into the suspension list at position Positiion within the structure Attribute.
> get_priority(-Priority)
>   Get the priority of the currently executing goal.
> get_suspension_data(?Susp, +Name, -Value)
>   Access properties of suspended goals.
> init_suspension_list(+Position, +Attribute)
>   Initialise the argument position Position within the structure Attribute with an empty suspension list.
> insert_suspension(?Term, +Susp, +Index)
>   Insert the suspension Susp into the Index'th suspension list of the current module's attribute for all attributed variables that occur in Term.
> insert_suspension(?Term, +Susp, +Index, +Module)
>   Insert the suspension Susp into the Index'th suspension list of the attribute Module for all attributed variables that occur in Term.
> kill_suspension(?Susp)
>   Kill the suspended goal represented by Susp, i.e. treat it as if it had been woken.
> make_suspension(+Goal, +Prio, -Susp)
>   Make Goal a suspended goal with waking priority Prio and return the corresponding suspension object in Susp.
> make_suspension(+Goal, +Prio, -Susp, +Module)
>   Make Goal from module Module a suspended goal with waking priority Prio and return the corresponding suspension object in Susp.
> merge_suspension_lists(+Pos1, +Attr1, +Pos2, +Attr2)
>   Destructively merge the suspension list on Pos1 in structure Attr1 into the suspension list on Pos2 in structure Attr2.
> notify_constrained(?Var)
>   Notify the system that the given variable was constrained
> schedule_suspensions(+Trigger)
>   Take the suspension list associated with the symbolic trigger Trigger and schedule them for execution.
> schedule_suspensions(+Position, +Attribute)
>   Take the suspension list on argument position Position within Attribute, and schedule them for execution.
> set_suspension_data(+Susp, +Name, +Value)
>   Modify properties of suspended goals.
> subcall(+Goal, -Delayed_goals)
>   Succeeds iff Goal succeeds and unifies Delayed_goals with a list of remaining delayed goals.
> suspend(+Goal, +Prio, +CondList)
>   Delay the Goal and wake it with priority Prio as soon as one of the specifications in CondList occurs.
> suspend(+Goal, +Prio, +CondList, -Susp)
>   Delay the Goal as suspension Susp and wake it with priority Prio as soon as one of the specifications in CondList occurs.
> suspensions(-Susps)
>   Returns a list of all currently live (sleeping or scheduled) suspensions.
> suspensions(?Var, -SuspensionList)
>   Retrieves a list of all suspensions attached to the variable Var.
> trigger(+Trigger)
>   Wake the suspensions associated with the symbolic trigger Trigger until there are no more left.
> wake
>   Execute all scheduled suspensions whose priorities are higher than the current one.

Generated from suspensions.eci on Sat Nov 8 06:53:13 2008