diff --git a/prolog/metta_lang/metta_eval.pl b/prolog/metta_lang/metta_eval.pl index acc3933b84b..410db679752 100755 --- a/prolog/metta_lang/metta_eval.pl +++ b/prolog/metta_lang/metta_eval.pl @@ -535,14 +535,14 @@ eval_until_eq(_Flags,_Eq,_XType,_YType,_Dpth,_Slf,X,Y,TF):- notrace(as_tf(X=:=Y,TF)),!. eval_until_eq(_Flags,_Eq,_XType,_YType,_Dpth,_Slf,X,Y,TF):- notrace(as_tf('#='(X,Y),TF)),!. %eval_until_eq(Flags,Eq,XType,YType,_Dpth,_Slf,X,Y,TF):- X\=@=Y,X=Y,!,check_returnval(Eq,XType,YType,Y,TF). -eval_until_eq(_Flags,Eq,XType,YType,_Depth,_Self,X,Y,TF):- var(X),var(Y),!,as_tf_tracabe(X=Y,TF),check_returnval(Eq,XType,X),check_returnval(Eq,YType,Y),!. +eval_until_eq(_Flags,Eq,XType,YType,_Depth,_Self,X,Y,TF):- var(X),var(Y),!,as_tf_traceable(X=Y,TF),check_returnval(Eq,XType,X),check_returnval(Eq,YType,Y),!. %eval_until_eq(_Flags,Eq,XType,YType,_Dpth,_Slf,X,Y,TF):- X=Y,!,check_returnval(Eq,XType,YType,Y,TF). -eval_until_eq(_Flags,Eq, XType, YType,Depth,Self,X,Y,TF):- var(Y),!,ignore(XType=YType),eval_argsteps(Eq,XType,Depth,Self,X,XX),as_tf_tracabe(XX=Y,TF). -eval_until_eq(_Flags,Eq, XType, YType,Depth,Self,X,Y,TF):- var(X),!,ignore(XType=YType),eval_argsteps(Eq,YType,Depth,Self,Y,YY),as_tf_tracabe(X=YY,TF). +eval_until_eq(_Flags,Eq, XType, YType,Depth,Self,X,Y,TF):- var(Y),!,ignore(XType=YType),eval_argsteps(Eq,XType,Depth,Self,X,XX),as_tf_traceable(XX=Y,TF). +eval_until_eq(_Flags,Eq, XType, YType,Depth,Self,X,Y,TF):- var(X),!,ignore(XType=YType),eval_argsteps(Eq,YType,Depth,Self,Y,YY),as_tf_traceable(X=YY,TF). %eval_until_eq(_Flags,Eq, XType,_YType,Depth,Self,X,Y,TF):- \+is_list(Y),!,eval_in_steps_some_change(Eq,XType,Depth,Self,X,XX),XX=Y. %eval_until_eq(_Flags,Eq,_XType, YType,Depth,Self,X,Y,TF):- \+is_list(X),!,eval_in_steps_some_change(Eq,YType,Depth,Self,Y,YY),X=YY. -eval_until_eq(_Flags,Eq, XType,_YType,Depth,Self,X,Y,TF):- \+is_list(Y),!,eval_arg_maybe_steps(Eq,XType,Depth,Self,X,XX),as_tf_tracabe(XX=Y,TF). -eval_until_eq(_Flags,Eq,_XType, YType,Depth,Self,X,Y,TF):- \+is_list(X),!,eval_arg_maybe_steps(Eq,YType,Depth,Self,Y,YY),as_tf_tracabe(X=YY,TF). +eval_until_eq(_Flags,Eq, XType,_YType,Depth,Self,X,Y,TF):- \+is_list(Y),!,eval_arg_maybe_steps(Eq,XType,Depth,Self,X,XX),as_tf_traceable(XX=Y,TF). +eval_until_eq(_Flags,Eq,_XType, YType,Depth,Self,X,Y,TF):- \+is_list(X),!,eval_arg_maybe_steps(Eq,YType,Depth,Self,Y,YY),as_tf_traceable(X=YY,TF). eval_until_eq([Fn|Flags],Eq,XType,YType,Depth,Self,X,Y,TF):- if_or_else(eval_args_down(Eq,XType,YType,Depth,Self,X,Y,TF), @@ -557,7 +557,7 @@ eval_args_down(Eq,XType,YType,Depth,Self,X,Y,TF):- eval_args(Eq,XType,Depth,Self,X,XX),eval_args(Eq,YType,Depth,Self,Y,YY),as_tf_unify(XX,YY,TF). -as_tf_unify(XX,YY,TF):- as_tf_tracable(XX=YY,TF). +as_tf_unify(XX,YY,TF):- as_tf_traceable(XX=YY,TF). eval_args_slow_down(_Flags,Eq,XType,YType,Depth,Self,X,Y,TF):- as_tf(((eval_in_steps_some_change(Eq,XType,Depth,Self,X,XX),eval_in_steps_some_change(Eq,YType,Depth,Self,Y,YY), @@ -2614,11 +2614,11 @@ eval_call(S,TF):- s2ps(S,P), !, fbug(eval_call(P,'$VAR'('TF'))), - as_tf_tracabe(P,TF). + as_tf_traceable(P,TF). eval_call_fn(S,R):- s2ps(S,P), !, fbug(eval_call_fn(P,'$VAR'('R'))), - as_tf_tracabe(call(P,R),TF),TF\=='False'. + as_tf_traceable(call(P,R),TF),TF\=='False'. is_host_function([AE|More],Pred,Len):- is_system_pred(AE), @@ -2683,7 +2683,7 @@ as_nop(G,NoResult):- G\=[_|_], rtrace_on_failure(G),!, as_nop(NoResult). as_tf(G,TF):- G\=[_|_], catch_warn((call(G)*->TF='True';TF='False')). -as_tf_tracabe(G,TF):- G\=[_|_], ((catch(G,E,((trace,writeln(E),rtrace(G),!,throw(E))))*->TF='True';TF='False')). +as_tf_traceable(G,TF):- G\=[_|_], ((catch(G,E,((trace,writeln(E),rtrace(G),!,throw(E))))*->TF='True';TF='False')). %eval_selfless_1(['==',X,Y],TF):- as_tf(X=:=Y,TF),!. %eval_selfless_1(['==',X,Y],TF):- as_tf(X=@=Y,TF),!.