From: Markus Triska Date: Thu, 12 Oct 2023 21:01:37 +0000 (+0200) Subject: shift morphing to the more general p/2 case X-Git-Tag: remove~33^2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=721cf20cf7f7b38f545e45f4463b179b362e10e4;p=scryer-prolog.git shift morphing to the more general p/2 case --- diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index 26373bb0..771cd857 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -3647,16 +3647,16 @@ reified_goal(d(D), Ds) --> ; { domain_error(one_or_two_element_list, Ds) } ). reified_goal(g(Goal), _) --> [{Goal}]. -reified_goal(p(Vs, Prop), _) --> +reified_goal(p(Vs, Prop0), _) --> + { morphing_propagator(Prop0, Prop, Target) }, [{make_propagator(Prop, P)}], + target_propagator(Target), parse_init_dcg(Vs, P), [{variables_same_queue(Vs), trigger_once(P)}], [( { propagator_state(P, S), S == dead } -> [] ; [p(P)])]. -reified_goal(p(Prop0), Ds) --> - { term_variables(Prop0, Vs), - morphing_propagator(Prop0, Prop, Target) }, - target_propagator(Target), +reified_goal(p(Prop), Ds) --> + { term_variables(Prop, Vs) }, reified_goal(p(Vs,Prop), Ds). reified_goal(function(D,Op,A,B,R), Ds) --> reified_goals([d(D),p(pfunction(Op,A,B,R)),a(A,B,R)], Ds).