enable op declarations with lists of operands using term expansion (#839)

This commit is contained in:
Mark Thom
2021-02-28 09:15:03 -07:00
parent 0747697d10
commit 8e6a89b279

View File

@@ -108,6 +108,17 @@ repl :-
repl :-
repl.
%% Enable op declarations with lists of operands, i.e.,
%% :- op(900, fy, [$,@]).
user:term_expansion((:- op(Pred, Spec, [Op | OtherOps])), OpResults) :-
expand_op_list([Op | OtherOps], Pred, Spec, OpResults).
expand_op_list([], _, _, []).
expand_op_list([Op | OtherOps], Pred, Spec, [(:- op(Pred, Spec, Op)) | OtherResults]) :-
expand_op_list(OtherOps, Pred, Spec, OtherResults).
read_and_match :-
'$read_query_term'(_, Term, _, _, VarList),
instruction_match(Term, VarList).