From 8e6a89b2792bd03c6ef09c16d08185dffd964a6e Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sun, 28 Feb 2021 09:15:03 -0700 Subject: [PATCH] enable op declarations with lists of operands using term expansion (#839) --- src/toplevel.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/toplevel.pl b/src/toplevel.pl index b46bf49d..4a861259 100644 --- a/src/toplevel.pl +++ b/src/toplevel.pl @@ -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). -- 2.54.0