]> Repositorios git - scryer-prolog.git/commitdiff
in projection of residual goals, mark considered propagators as processed
authorMarkus Triska <[email protected]>
Wed, 22 Feb 2023 20:05:31 +0000 (21:05 +0100)
committerMarkus Triska <[email protected]>
Wed, 22 Feb 2023 23:05:27 +0000 (00:05 +0100)
This is to avoid duplicated goals with the new projection mechanism.

src/lib/clpz.pl

index 5823aa42ec9fb46b0275e6a65315814cd78d40d6..9404097e41abcdbf4f13c1dda778146474da540c 100644 (file)
@@ -7711,7 +7711,7 @@ attributes_goals([]) --> [].
 attributes_goals([propagator(P, State)|As]) -->
         (   { ground(State) } -> []
         ;   { phrase(attribute_goal_(P), Gs) } ->
-            { del_attr(State, clpz_aux), State = processed,
+            { del_attr(State, clpz_aux), State = processed,
               (   monotonic ->
                   maplist(unwrap_with(bare_integer), Gs, Gs1)
               ;   maplist(unwrap_with(=), Gs, Gs1)
@@ -7822,7 +7822,7 @@ conjunction(A, B, G, D) -->
 
 original_goal(original_goal(State, Goal)) -->
         (   { var(State) } ->
-%            { State = processed },
+            { State = processed },
             [Goal]
         ;   []
         ).