diff --git a/C/cdmgr.c b/C/cdmgr.c index d9c923c11..052657cde 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -2616,7 +2616,7 @@ p_compile( USES_REGS1 ) YAPLeaveCriticalSection(); if (LOCAL_ErrorMessage) { if (LOCAL_Error_TYPE == TYPE_ERROR_CALLABLE) { - Yap_Error(LOCAL_Error_TYPE, Yap_PredicateIndicator(t, mod), LOCAL_ErrorMessage); + Yap_Error(LOCAL_Error_TYPE, t, LOCAL_ErrorMessage); } if (IntOfTerm(t1) & 4) { Yap_Error(TYPE_ERROR_CALLABLE, LOCAL_Error_Term, diff --git a/C/compiler.c b/C/compiler.c index 706bd9a87..45dfb8d2b 100644 --- a/C/compiler.c +++ b/C/compiler.c @@ -3604,8 +3604,8 @@ Yap_cclause(volatile Term inp_clause, Int NOfArgs, Term mod, volatile Term src) } if (IsVarTerm(head) || IsPairTerm(head) || IsIntTerm(head) || IsFloatTerm(head) || IsRefTerm(head)) { LOCAL_Error_TYPE = TYPE_ERROR_CALLABLE; - LOCAL_Error_Term = my_clause; - LOCAL_ErrorMessage = "clause should be atom or term"; + LOCAL_Error_Term = head; + LOCAL_ErrorMessage = "clause head should be atom or compound term"; return (0); } else { diff --git a/C/exec.c b/C/exec.c index 4f59253c4..066432669 100755 --- a/C/exec.c +++ b/C/exec.c @@ -137,10 +137,10 @@ CallError(yap_error_number err, Term t, Term mod USES_REGS) return(CallMetaCall(t, mod PASS_REGS)); } else { if (err == TYPE_ERROR_CALLABLE) { - t = Yap_PredicateIndicator(t, mod); + t = Yap_StripModule(t, &mod); } Yap_Error(err, t, "call/1"); - return(FALSE); + return FALSE; } } @@ -830,7 +830,7 @@ p_execute0( USES_REGS1 ) #endif } } else { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t, mod),"call/1"); + Yap_Error(TYPE_ERROR_CALLABLE, t,"call/1"); return FALSE; } /* N = arity; */ @@ -901,7 +901,7 @@ p_execute_nonstop( USES_REGS1 ) #endif } } else { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t, mod),"call/1"); + Yap_Error(TYPE_ERROR_CALLABLE,t,"call/1"); return FALSE; } /* N = arity; */ @@ -1305,7 +1305,7 @@ Yap_execute_goal(Term t, int nargs, Term mod) Functor f = FunctorOfTerm(t); if (IsBlobFunctor(f)) { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t, mod),"call/1"); + Yap_Error(TYPE_ERROR_CALLABLE,t,"call/1"); return(FALSE); } /* I cannot use the standard macro here because @@ -1314,7 +1314,7 @@ Yap_execute_goal(Term t, int nargs, Term mod) pt = RepAppl(t)+1; pe = PredPropByFunc(f, mod); } else { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t, mod),"call/1"); + Yap_Error(TYPE_ERROR_CALLABLE,t,"call/1"); return(FALSE); } ppe = RepPredProp(pe); @@ -1368,7 +1368,7 @@ Yap_RunTopGoal(Term t) Functor f = FunctorOfTerm(t); if (IsBlobFunctor(f)) { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t, mod),"call/1"); + Yap_Error(TYPE_ERROR_CALLABLE,t,"call/1"); return(FALSE); } if (f == FunctorModule) { diff --git a/C/modules.c b/C/modules.c index e590caf4d..1984eb699 100644 --- a/C/modules.c +++ b/C/modules.c @@ -260,7 +260,7 @@ p_strip_module( USES_REGS1 ) } t1 = Yap_StripModule( t1, &tmod ); if (!t1) { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t1,tmod),"trying to obtain module"); + Yap_Error(TYPE_ERROR_CALLABLE,t1,"trying to obtain module"); return FALSE; } return Yap_unify(ARG3, t1) && @@ -316,7 +316,7 @@ p_yap_strip_module( USES_REGS1 ) } t1 = Yap_YapStripModule( t1, &tmod ); if (!t1) { - Yap_Error(TYPE_ERROR_CALLABLE,Yap_PredicateIndicator(t1, tmod),"trying to obtain module"); + Yap_Error(TYPE_ERROR_CALLABLE, t1, "trying to obtain module"); return FALSE; } return Yap_unify(ARG3, t1) && diff --git a/C/threads.c b/C/threads.c index 5e2e49f55..192efa0f5 100644 --- a/C/threads.c +++ b/C/threads.c @@ -995,12 +995,12 @@ p_with_mutex( USES_REGS1 ) f = FunctorOfTerm(tg); if (IsExtensionFunctor(f)) { - Yap_Error(TYPE_ERROR_CALLABLE, Yap_PredicateIndicator(tg, tm), "with_mutex/2"); + Yap_Error(TYPE_ERROR_CALLABLE, tg, "with_mutex/2"); goto end; } arity = ArityOfFunctor(f); if (arity > MaxTemps) { - Yap_Error(TYPE_ERROR_CALLABLE, Yap_PredicateIndicator(tg, tm), "with_mutex/2"); + Yap_Error(TYPE_ERROR_CALLABLE, tg, "with_mutex/2"); goto end; } pe = RepPredProp(PredPropByFunc(f, tm)); @@ -1019,7 +1019,7 @@ p_with_mutex( USES_REGS1 ) XREGS[1] = pt[0]; XREGS[2] = pt[1]; } else { - Yap_Error(TYPE_ERROR_CALLABLE, Yap_PredicateIndicator(tg, tm), "with_mutex/2"); + Yap_Error(TYPE_ERROR_CALLABLE, tg, "with_mutex/2"); goto end; } if ( diff --git a/pl/boot.yap b/pl/boot.yap index de0493ad1..023199a56 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -628,9 +628,9 @@ number of steps. '$execute_command'(C,_,_,top,Source) :- var(C), !, '$do_error'(instantiation_error,meta_call(Source)). '$execute_command'(C,_,_,top,Source) :- number(C), !, - '$do_error'(type_error(callable,C/0),meta_call(Source)). + '$do_error'(type_error(callable,C),meta_call(Source)). '$execute_command'(R,_,_,top,Source) :- db_reference(R), !, - '$do_error'(type_error(callable,R/0),meta_call(Source)). + '$do_error'(type_error(callable,R),meta_call(Source)). '$execute_command'(end_of_file,_,_,_,_) :- !. '$execute_command'(Command,_,_,_,_) :- '$nb_getval'('$if_skip_mode', skip, fail), @@ -1299,9 +1299,9 @@ not(G) :- \+ '$execute'(G). '$check_callable'(_:G1,G) :- !, '$check_callable'(G1,G). '$check_callable'(A,G) :- number(A), !, - '$do_error'(type_error(callable,A/0),G). + '$do_error'(type_error(callable,A),G). '$check_callable'(R,G) :- db_reference(R), !, - '$do_error'(type_error(callable,R/0),G). + '$do_error'(type_error(callable,R),G). '$check_callable'(_,_). @@ -1395,9 +1395,9 @@ bootstrap(F) :- '$check_head'(H,P) :- var(H), !, '$do_error'(instantiation_error,P). '$check_head'(H,P) :- number(H), !, - '$do_error'(type_error(callable,H/0),P). + '$do_error'(type_error(callable,H),P). '$check_head'(H,P) :- db_reference(H), !, - '$do_error'(type_error(callable,H/0),P). + '$do_error'(type_error(callable,H),P). '$check_head'(_,_). % term expansion diff --git a/pl/consult.yap b/pl/consult.yap index 7fa2ab53e..2e6fa8e51 100644 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -1398,9 +1398,9 @@ environment. Use initialization/2 for more flexible behavior. var(V), !, '$do_error'(instantiation_error,initialization(V)). '$initialization'(C) :- number(C), !, - '$do_error'(type_error(callable,C/0),initialization(C)). + '$do_error'(type_error(callable,C),initialization(C)). '$initialization'(C) :- db_reference(C), !, - '$do_error'(type_error(callable,C/0),initialization(C)). + '$do_error'(type_error(callable,C),initialization(C)). '$initialization'(G) :- '$show_consult_level'(Level1), % it will be done after we leave the current consult level. @@ -1438,11 +1438,11 @@ initialization(G,OPT) :- ; number(G) -> - '$do_error'(type_error(callable,G/0),initialization(G,OPT)) + '$do_error'(type_error(callable,G),initialization(G,OPT)) ; db_reference(G) -> - '$do_error'(type_error(callable,G/0),initialization(G,OPT)) + '$do_error'(type_error(callable,G),initialization(G,OPT)) ; var(OPT) -> diff --git a/pl/control.yap b/pl/control.yap index 79fa4ba5e..cc9dfc2d9 100644 --- a/pl/control.yap +++ b/pl/control.yap @@ -516,7 +516,7 @@ prolog_initialization(G) :- var(G), !, prolog_initialization(T) :- callable(T), !, '$assert_init'(T). prolog_initialization(T) :- - '$do_error'(type_error(callable,T/0),initialization(T)). + '$do_error'(type_error(callable,T),initialization(T)). '$assert_init'(T) :- recordz('$startup_goal',T,_), fail. '$assert_init'(_). diff --git a/pl/preddecls.yap b/pl/preddecls.yap index 6920e6ab4..e76b66f0c 100644 --- a/pl/preddecls.yap +++ b/pl/preddecls.yap @@ -103,7 +103,7 @@ dynamic(X) :- '$do_error'(permission_error(modify,static_procedure,A/N),dynamic(Mod:A/N)) ). '$dynamic2'(X,Mod) :- - '$do_error'(type_error(callable,X/0),dynamic(Mod:X)). + '$do_error'(type_error(callable,X),dynamic(Mod:X)). '$logical_updatable'(A//N,Mod) :- integer(N), !, N1 is N+2, @@ -118,7 +118,7 @@ dynamic(X) :- '$do_error'(permission_error(modify,static_procedure,A/N),dynamic(Mod:A/N)) ). '$logical_updatable'(X,Mod) :- - '$do_error'(type_error(callable,X/0),dynamic(Mod:X)). + '$do_error'(type_error(callable,X),dynamic(Mod:X)). /** @pred public( _P_ ) is iso @@ -145,7 +145,7 @@ defines all new or redefined predicates to be public. functor(T,A,N), '$do_make_public'(T, Mod). '$public'(X, Mod) :- - '$do_error'(type_error(callable,X/0),dynamic(Mod:X)). + '$do_error'(type_error(callable,X),dynamic(Mod:X)). '$do_make_public'(T, Mod) :- '$is_dynamic'(T, Mod), !. % all dynamic predicates are public. diff --git a/pl/preds.yap b/pl/preds.yap index 48ae0bdf5..58036a241 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -163,7 +163,7 @@ assert(C) :- '$assert'(V,Mod,_,_,_) :- var(Mod), !, '$do_error'(instantiation_error,assert(Mod:V)). '$assert'(I,Mod,_,_,_) :- number(I), !, - '$do_error'(type_error(callable,I/0),assert(Mod:I)). + '$do_error'(type_error(callable,I),assert(Mod:I)). '$assert'(M:C,_,Where,R,P) :- !, '$assert'(C,M,Where,R,P). '$assert'((H:-G),M1,Where,R,P) :- !, @@ -487,10 +487,10 @@ clause(V,Q,R) :- '$do_error'(instantiation_error,clause(M:V,Q,R)). '$clause'(C,M,Q,R) :- number(C), !, - '$do_error'(type_error(callable,C/0),clause(M:C,Q,R)). + '$do_error'(type_error(callable,C),clause(M:C,Q,R)). '$clause'(C,M,Q,R) :- db_reference(C), !, - '$do_error'(type_error(callable,C/0),clause(M:R,Q,R)). + '$do_error'(type_error(callable,C),clause(M:R,Q,R)). '$clause'(M:P,_,Q,R) :- !, '$clause'(P,M,Q,R). '$clause'(P,M,Q,R) :- diff --git a/pl/qly.yap b/pl/qly.yap index 822365ebe..005c9edb5 100755 --- a/pl/qly.yap +++ b/pl/qly.yap @@ -187,7 +187,7 @@ save_program(File, _Goal) :- recordz('$restore_flag',goal(M1:G1),_) ; strip_module(M:B, M1, G1), - '$do_error'(type_error(callable,G1/0),G) + '$do_error'(type_error(callable,G1),G) ). '$cvt_qsave_flag'(toplevel(B), G, M) :- !, ( callable(B) -> @@ -195,7 +195,7 @@ save_program(File, _Goal) :- recordz('$restore_flag',toplevel(M1:G1),_) ; strip_module(M:B, M1, G1), - '$do_error'(type_error(callable,G1/0),G) + '$do_error'(type_error(callable,G1),G) ). '$cvt_qsave_flag'(init_file(B), G, M) :- !, ( atom(B) -> diff --git a/pl/save.yap b/pl/save.yap index dbd3f513d..b28c3d81b 100644 --- a/pl/save.yap +++ b/pl/save.yap @@ -38,7 +38,7 @@ save_program(A, G) :- var(A), !, save_program(A, G) :- var(G), !, '$do_error'(instantiation_error, save_program(A,G)). save_program(A, G) :- \+ callable(G), !, - '$do_error'(type_error(callable,G/0), save_program(A,G)). + '$do_error'(type_error(callable,G), save_program(A,G)). save_program(A, G) :- ( atom(A) -> atom_codes(A,S) ; A = S), '$save_program2'(S, G), diff --git a/pl/signals.yap b/pl/signals.yap index 8bc0ae425..1fc9b429e 100644 --- a/pl/signals.yap +++ b/pl/signals.yap @@ -290,11 +290,11 @@ on_signal(Signal,OldAction,Action) :- on_signal(Signal,OldAction,Action) :- '$reset_signal'(Signal, OldAction), % 13211-2 speaks only about callable - ( Action = M:Goal -> true ; throw(error(type_error(callable,Action/0),on_signal/3)) ), + ( Action = M:Goal -> true ; throw(error(type_error(callable,Action),on_signal/3)) ), % the following disagrees with 13211-2:6.7.1.4 which disagrees with 13211-1:7.12.2a % but the following agrees with 13211-1:7.12.2a ( nonvar(M) -> true ; throw(error(instantiation_error,on_signal/3)) ), - ( atom(M) -> true ; throw(error(type_error(callable,Action/0),on_signal/3)) ), + ( atom(M) -> true ; throw(error(type_error(callable,Action),on_signal/3)) ), ( nonvar(Goal) -> true ; throw(error(instantiation_error,on_signal/3)) ), recordz('$signal_handler', action(Signal,Action), _). diff --git a/pl/statistics.yap b/pl/statistics.yap index 939223214..81feaa817 100644 --- a/pl/statistics.yap +++ b/pl/statistics.yap @@ -335,7 +335,7 @@ time(_:Goal) :- var(Goal), '$do_error'(instantiation_error,time(Goal)). time(Goal) :- \+ callable(Goal), !, - '$do_error'(type_error(callable,Goal/0),time(Goal)). + '$do_error'(type_error(callable,Goal),time(Goal)). time(Goal) :- statistics(walltime, _), statistics(cputime, _), diff --git a/pl/strict_iso.yap b/pl/strict_iso.yap index 04703702e..4652a558d 100644 --- a/pl/strict_iso.yap +++ b/pl/strict_iso.yap @@ -8,7 +8,7 @@ '$do_error'(instantiation_error,call(G)). '$iso_check_goal'(V,G) :- number(V), !, - '$do_error'(type_error(callable,V/0),G). + '$do_error'(type_error(callable,V),G). '$iso_check_goal'(_:G,G0) :- !, '$iso_check_goal'(G,G0). '$iso_check_goal'((G1,G2),G0) :- !, @@ -44,7 +44,7 @@ '$do_error'(instantiation_error,call(G)). '$iso_check_a_goal'(V,E,G) :- number(V), !, - '$do_error'(type_error(callable,E/0),call(G)). + '$do_error'(type_error(callable,E),call(G)). '$iso_check_a_goal'(_:G,E,G0) :- !, '$iso_check_a_goal'(G,E,G0). '$iso_check_a_goal'((G1,G2),E,G0) :- !, diff --git a/pl/tabling.yap b/pl/tabling.yap index bbe57502c..7098b98d3 100644 --- a/pl/tabling.yap +++ b/pl/tabling.yap @@ -281,7 +281,7 @@ table(Pred) :- functor(PredFunctor,PredName,PredArity), !, '$set_table'(Mod,PredFunctor,PredModeList). '$do_table'(Mod,Pred) :- - '$do_error'(type_error(callable,Pred/0),table(Mod:Pred)). + '$do_error'(type_error(callable,Pred),table(Mod:Pred)). '$set_table'(Mod,PredFunctor,_PredModeList) :- '$undefined'('$c_table'(_,_,_),prolog), !, @@ -349,7 +349,7 @@ is_tabled(Pred) :- '$flags'(PredFunctor,Mod,Flags,Flags), !, Flags /\ 0x000040 =\= 0. '$do_is_tabled'(Mod,Pred) :- - '$do_error'(type_error(callable,Pred/0),is_tabled(Mod:Pred)). + '$do_error'(type_error(callable,Pred),is_tabled(Mod:Pred)). @@ -384,7 +384,7 @@ tabling_mode(Pred,Options) :- '$do_error'(domain_error(table,Mod:PredName/PredArity),tabling_mode(Mod:PredName/PredArity,Options)) ). '$do_tabling_mode'(Mod,Pred,Options) :- - '$do_error'(type_error(callable,Pred/0),tabling_mode(Mod:Pred,Options)). + '$do_error'(type_error(callable,Pred),tabling_mode(Mod:Pred,Options)). '$set_tabling_mode'(Mod,PredFunctor,Options) :- var(Options), !, @@ -445,7 +445,7 @@ abolish_table(Pred) :- '$do_error'(domain_error(table,Mod:PredName/PredArity),abolish_table(Mod:PredName/PredArity)) ). '$do_abolish_table'(Mod,Pred) :- - '$do_error'(type_error(callable,Pred/0),abolish_table(Mod:Pred)). + '$do_error'(type_error(callable,Pred),abolish_table(Mod:Pred)). @@ -485,7 +485,7 @@ show_table(Stream,Pred) :- '$do_error'(domain_error(table,Mod:PredName/PredArity),show_table(Mod:PredName/PredArity)) ). '$do_show_table'(_,Mod,Pred) :- - '$do_error'(type_error(callable,Pred/0),show_table(Mod:Pred)). + '$do_error'(type_error(callable,Pred),show_table(Mod:Pred)). @@ -525,7 +525,7 @@ table_statistics(Stream,Pred) :- '$do_error'(domain_error(table,Mod:PredName/PredArity),table_statistics(Mod:PredName/PredArity)) ). '$do_table_statistics'(_,Mod,Pred) :- - '$do_error'(type_error(callable,Pred/0),table_statistics(Mod:Pred)). + '$do_error'(type_error(callable,Pred),table_statistics(Mod:Pred)). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/pl/threads.yap b/pl/threads.yap index 90e97a387..a9fa42d11 100644 --- a/pl/threads.yap +++ b/pl/threads.yap @@ -421,7 +421,7 @@ thread_set_default(Default) :- '$thread_set_default'(at_exit(AtExit), G) :- \+ callable(AtExit), !, - '$do_error'(type_error(callable, AtExit/0), G). + '$do_error'(type_error(callable, AtExit), G). '$thread_set_default'(at_exit(AtExit), _) :- !, recorded('$thread_defaults', [Stack, Trail, System, Detached, _], Ref), erase(Ref), @@ -1099,7 +1099,7 @@ with_mutex(M, G) :- var(G) -> mutex_unlock(M), '$do_error'(instantiation_error,with_mutex(M, G)) ; \+ callable(G) -> - mutex_unlock(M), '$do_error'(type_error(callable,G/0),with_mutex(M, G)) + mutex_unlock(M), '$do_error'(type_error(callable,G),with_mutex(M, G)) ; catch('$execute'(G), E, (mutex_unlock(M), throw(E))) -> mutex_unlock(M) @@ -1552,7 +1552,7 @@ thread_local(X) :- '$do_error'(permission_error(modify,static_procedure,A/N),thread_local(Mod:A/N)) ). '$thread_local2'(X,Mod) :- - '$do_error'(type_error(callable,X/0),thread_local(Mod:X)). + '$do_error'(type_error(callable,X),thread_local(Mod:X)).