scryer-prolog
scryer-prolog copied to clipboard
Toplevel sometimes silently ignores read-terms
Example:
?- write(hi). write(ho). hi true.
What about ho?
In 1 Scope, Note f, the top level loop is explicitly excluded from 13211-1. Many systems do not use read/1 (actually read_term/2 for the variable names) directly, but have some heuristic built-in. Systems that would process write(ho) thereafter often have other quirks as consequences.
Should maybe this give a warning or an error instead to alert the user that Scryer only executes the first term on the toplevel?
?- true. true.
Warning: multiple terms in query
true.
% Or, alternatively
?- true. true.
error(something,_).