2009/2/16 Joachim Schimpf <joachim.schimpf_at_infotech.monash.edu.au>: >> Here the state is a domain of a variable. >> >> What is the better way to deal with such propagators? > > As Kish said, you add a State variable, and use setarg/3 on its arguments. > For your example above this would be > > :- demon propagate/3. > propagate(Var, State, Susp) :- > State = state(OldDom), > propagate(Var), > ic:get_domain_as_list(Var, NewDom), > setarg(1, State, NewDom). > Thank you! That is exactly what I needed. > You can find examples of this in the library files ic_constraints.ecl or > generic_global_constraints.ecl > > Btw, in 6.1 I intend to add set_suspension_arg/3 for this purpose. > That could be an interesting addon. And what about priorities? Are you going to standarize them somehow? Best regards -- [ Wit Jakuczun w.jakuczun_at_wlogsolutions.com ] [ WLOG Solutions http://wlogsolutions.com ]Received on Mon Feb 16 2009 - 07:15:22 CET
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET