Skip to content

Commit 4316181

Browse files
committed
skip_redef_fa
1 parent 6c43a3f commit 4316181

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

prolog/metta_lang/metta_compiler.pl

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,9 +1699,17 @@
16991699
skip_redef_head(M,Info):- source_file(this_is_in_compiler_lib,F), once(source_file(M:Info,F);source_file(Info,F)).
17001700
%skip_redef(Info):- source_file(Info,_). % diallow otehr places
17011701

1702-
skip_redef_fa(Fn/Arity) :- create_mc_name(Arity,Fn,FnWPrefix),succ(Arity,ArityP1),functor(Info,FnWPrefix,ArityP1),
1702+
skip_redef_fa(Fn,Arity) :- integer(Arity),!,skip_redef_fa(Fn,[Arity]).
1703+
skip_redef_fa(Fn,LenArgs) :-
1704+
create_mc_name(LenArgs,Fn,FnWPrefix),
1705+
sum_list(LenArgs,LenArgsTotal),
1706+
LenArgsTotalPlus1 is LenArgsTotal+1,
1707+
functor(Info,FnWPrefix,LenArgsTotalPlus1),
17031708
skip_redef_head(user,Info),!.
17041709

1710+
into_fa(Fn/[Arity],Fn,Arity):- must_be(number,Arity).
1711+
into_fa(Fn/Arity,Fn,Arity):- must_be(number,Arity).
1712+
into_fa(FnArity,_Fn,_Arity):- throw(type_error(f/a,FnArity)).
17051713

17061714
%must_det_lls(G):- catch(G,E,(wdmsg(E),fail)),!.
17071715
%must_det_lls(G):- rtrace(G),!.
@@ -2137,7 +2145,6 @@
21372145
compiler_data(metta_compiled_predicate/3).
21382146
compiler_data(is_transpile_call_prefix/3).
21392147
compiler_data(is_transpile_impl_prefix/3).
2140-
compiler_data(transpiler_stub_created/2).
21412148
compiler_data(transpiler_stub_created/3).
21422149
compiler_data(transpiler_depends_on/4).
21432150
compiler_data(transpiler_clause_store/9).

0 commit comments

Comments
 (0)