add provisional max_depth option to write_term, speed printing of non-cyclic terms

This commit is contained in:
Mark Thom
2020-03-15 00:09:20 -06:00
parent 3620f72b6c
commit 325df8a6e3
6 changed files with 379 additions and 95 deletions

View File

@@ -114,9 +114,9 @@
write(' = '),
( '$needs_bracketing'(Value, (=)) ->
write('('),
write_term(Value, [quoted(true), variable_names(VarList)]),
write_term(Value, [quoted(true), variable_names(VarList), max_depth(0)]),
write(')')
; write_term(Value, [quoted(true), variable_names(VarList)])
; write_term(Value, [quoted(true), variable_names(VarList), max_depth(0)])
)
; G == [] ->
write('true')
@@ -129,9 +129,9 @@
write(' = '),
( '$needs_bracketing'(Value, (=)) ->
write('('),
write_term(Value, [quoted(true), variable_names(VarList)]),
write_term(Value, [quoted(true), variable_names(VarList), max_depth(0)]),
write(')')
; write_term(Value, [quoted(true), variable_names(VarList)]),
; write_term(Value, [quoted(true), variable_names(VarList), max_depth(0)]),
( '$trailing_period_is_ambiguous'(Value) ->
write(' ')
; true
@@ -139,7 +139,7 @@
)
; G == [] ->
write('true')
; write_term(G, [quoted(true), variable_names(VarList)])
; write_term(G, [quoted(true), variable_names(VarList), max_depth(0)])
).
'$write_eq'((G1, G2), VarList) :-
@@ -215,7 +215,7 @@
).
'$print_exception'(E) :-
write_term('caught: ', [quoted(false)]),
write_term('caught: ', [quoted(false), max_depth(20)]),
writeq(E),
nl.