Wit Jakuczun wrote: > Yes, you are right! I am just not the fan of the priorities and treat them > as a simple excuse for my incompetence sometimes :). Nevertheless > I was testing Sicstus and have never got into such problems as with > ECLiPSe. > I don't think priorities are that bad, particularly when you are dealing with only one solver. One important property about priorities is that the execution of a goal can only be `interuppted' by woken goals that have a *higher* priority. Specifically, woken goals with the *same* priority does not interrupt the execution, because woken goals are placed at the end of the resolvent. So if you write your propagators at the same priority, they will be "atomic" with respect to the other propagators (at the same priority). This is somewhat different from suspension/wake implemented in other Prologs, and which do not have priorities. Woken goals in this case effectively have a higher priority (they are added to the front of the resolvent) and will interupt your current execution. You don't really have the flexibility to control this. The suspension mechanism (along with attributed variable) is designed to give you the ability to write code for different solvers in ECLiPSe (and not just propagators for say finite domain), and to allow these different solvers to co-operate. It also give you the full flexibility of the whole ECLiPSe language to do so. For example, I was recently involved in helping to add some domain consistent (generalised arc consistent) global finite domain (ic) constraints, which we plan to add to ECLiPSe 6.1. These constraints are based on working on a flow graph. Everything was done in ECLiPSe for this, there was no need to go to a low-level language like C. In other systems, I suspect that you may very well need to go to C to implement such constraintss [of course, you may want to implement some critical parts of the constraint in C to give better performance, but you don't need to]. Cheers, Kish -- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message. Cisco Systems Limited (Company Number: 02558939), is registered in England and Wales with its registered office at 1 Callaghan Square, Cardiff, South Glamorgan CF10 5BT.Received on Wed Feb 18 2009 - 20:20:02 CET
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST