From 90e1c990e5563f48cf3ddf50153328b7a83dc18d Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Fri, 6 Dec 2019 10:30:16 -0400 Subject: [PATCH] print equations between variables (#228, #252) --- src/prolog/toplevel.pl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/prolog/toplevel.pl b/src/prolog/toplevel.pl index 6b3f7711..74df6a6f 100644 --- a/src/prolog/toplevel.pl +++ b/src/prolog/toplevel.pl @@ -144,13 +144,20 @@ ). '$gather_query_vars'([], []). +'$is_a_different_variable'([Var = Binding | Pairs], Value) :- + ( Value == Binding, ! + ; '$is_a_different_variable'(Pairs, Value) + ). + '$gather_goals'([], VarList, Goals) :- '$get_attr_var_queue_beyond'(0, AttrVars), '$gather_query_vars'(VarList, QueryVars), '$call_attribute_goals'(QueryVars, AttrVars), '$fetch_attribute_goals'(Goals). '$gather_goals'([Var = Value | Pairs], VarList, Goals) :- - ( nonvar(Value) -> + ( ( nonvar(Value) + ; '$is_a_different_variable'(Pairs, Value) + ) -> Goals = [Var = Value | Goals0], '$gather_goals'(Pairs, VarList, Goals0) ; '$gather_goals'(Pairs, VarList, Goals) -- 2.54.0