Files
scryer-prolog/src/prolog/toplevel.pl
2019-09-26 11:25:05 -06:00

20 lines
499 B
Prolog

'$repl' :-
catch('$read_and_match', E, '$print_exception'(E)),
false. %% this is for GC, until we get actual GC.
'$repl' :- '$repl'.
'$read_and_match' :-
'$read_query_term'(Term, VarList),
'$instruction_match'(Term, VarList).
'$instruction_match'([user], []) :-
!, '$compile_batch'.
'$instruction_match'(Term, VarList) :-
'$submit_query_and_print_results'(Term, VarList),
!.
'$print_exception'(E) :-
write_term('caught: ', [quoted(false)]),
writeq(E),
nl.