summaryrefslogtreecommitdiff
path: root/stdlib.pl
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-03 18:58:07 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-03 18:58:07 +0000
commit7db38904537603dabe960f32fa505e27db89e27b (patch)
tree46ea8abfcc0656a7442363979838f5fa8f9c95a5 /stdlib.pl
parentd81447526cde6fa98dfa792a65f71acb78ef1398 (diff)
Start adding support for read_term and write_term
Diffstat (limited to 'stdlib.pl')
-rw-r--r--stdlib.pl32
1 files changed, 32 insertions, 0 deletions
diff --git a/stdlib.pl b/stdlib.pl
index 4973c3e..7a744c4 100644
--- a/stdlib.pl
+++ b/stdlib.pl
@@ -105,3 +105,35 @@ resource_error(Resource) :-
syntax_error(Error) :-
throw(error(syntax_error(Error), _)).
+
+% Input and output
+
+read_term(Term, Options) :-
+ current_input(S),
+ read_term(S, Term, Options).
+
+read(Term) :-
+ current_input(S),
+ read_term(S, Term, []).
+
+write_term(Term, Options) :-
+ current_output(S),
+ write_term(S, Term, Options).
+
+write(Term) :-
+ current_output(S),
+ write_term(S, Term, [numbervars(true)]).
+
+writeq(Term) :-
+ current_output(S),
+ write_term(S, Term, [quoted(true), numbervars(true)]).
+
+writeq(S, Term) :-
+ write_term(S, Term, [quoted(true), numbervars(true)]).
+
+write_canonical(Term) :-
+ current_output(S),
+ write_term(S, Term, [quoted(true), ignore_ops(true)]).
+
+write_canonical(S, Term) :-
+ write_term(S, Term, [quoted(true), ignore_ops(true)]).