From: Mark Thom Date: Tue, 14 Apr 2020 16:25:05 +0000 (-0600) Subject: improve writeX performance (#290) X-Git-Tag: v0.8.123~163 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=db5ed345bcee0e41b67791845f1bf42261904d2f;p=scryer-prolog.git improve writeX performance (#290) --- diff --git a/src/prolog/lib/builtins.pl b/src/prolog/lib/builtins.pl index 61efae1c..17235d3b 100644 --- a/src/prolog/lib/builtins.pl +++ b/src/prolog/lib/builtins.pl @@ -349,11 +349,14 @@ write_term(Term, Options) :- inst_member_or(Options, max_depth(MaxDepth), max_depth(0)), '$write_term'(Term, IgnoreOps, NumberVars, Quoted, VarNames, MaxDepth). -write(Term) :- write_term(Term, [numbervars(true)]). +write(Term) :- + '$write_term'(Term, false, true, false, [], 0). -write_canonical(Term) :- write_term(Term, [ignore_ops(true), quoted(true)]). +write_canonical(Term) :- + '$write_term'(Term, true, false, true, [], 0). -writeq(Term) :- write_term(Term, [quoted(true), numbervars(true)]). +writeq(Term) :- + '$write_term'(Term, false, true, true, [], 0). %% TODO: complete the predicate! Most read options are missing. read_term(Term, Options) :-