Open flexoron opened 3 weeks ago
sorry, forgot dcgs
$ scryer-prolog -f
?- use_module(library(dcgs)).
true.
?- [user].
{x|y|z}.
?- X =.. [{},(A|B|C)], call(X).
X = {x|y|z}, A = x, B = y, C = z.
?-
The issue here is the [user] part (without dcgs)
$ scryer-prolog -f
?- [user].
{x|y|z}. % Input accepted but ignored and should be handled like the following query?
?- X = {x|y|z}.
error(syntax_error(incomplete_reduction),read_term/3:1).
?- use_module(library(dcgs)).
true.
?- X = {x|y|z}.
X = {x|y|z}.
It seems that syntax errors are not reported in general.
ulrich@gupu:/opt/gupu/scryer-prolog$ target/release/scryer-prolog -v
v0.9.4-53-g2d18e0d7
ulrich@gupu:/opt/gupu/scryer-prolog$ target/release/scryer-prolog -f
?- [user].
p(1++2).
?- p(1++2).
error(syntax_error(incomplete_reduction),read_term/3:1).
$ cat x.pl
{x|y|z}.
$ scryer-prolog -f
?- use_module(library(dcgs)).
true.
?- [x].
true.
?- X =.. [{},(A|B|C)], call(abc:X).
error(existence_error(procedure,abc:{}/1),{}/1). % expected, call(abc:X)
?- X =.. [{},(A|B|C)], call(user:X).
X = {x|y|z}, A = x, B = y, C = z. % expected, call(user:X)
?- halt.
$ scryer-prolog -f
?- [x].
error(syntax_error(incomplete_reduction),read_term/3:1). % expected
?-
Issue happens in interactive mode