diff --git a/src/loader.pl b/src/loader.pl index 445cb81a8..3e74a8163 100644 --- a/src/loader.pl +++ b/src/loader.pl @@ -215,6 +215,8 @@ instantiation_error(load/1) ; Term = (?- _Query) -> devour_answer_descriptions(Stream, Evacuable) + ; Term = (_ ?- _Query) -> + devour_answer_descriptions(Stream, Evacuable) ; LineNum is LinesRead + 1, warn_about_singletons(Singletons, LineNum), compile_term(Term, Evacuable), @@ -230,6 +232,8 @@ instantiation_error(load/1) ; Term = (?- _Query) -> devour_answer_descriptions(Stream, Evacuable) + ; Term = (_ ?- _Query) -> + devour_answer_descriptions(Stream, Evacuable) ; answer_description(Term) -> devour_answer_descriptions(Stream, Evacuable) ; warn_about_singletons(Singletons, LinesRead), diff --git a/src/parser/ast.rs b/src/parser/ast.rs index 9effb51eb..aa3c2f425 100644 --- a/src/parser/ast.rs +++ b/src/parser/ast.rs @@ -412,6 +412,7 @@ pub fn default_op_dir() -> OpDir { op_dir.insert((atom!(":-"), Fixity::In), OpDesc::build_with(1200, XFX)); op_dir.insert((atom!(":-"), Fixity::Pre), OpDesc::build_with(1200, FX)); + op_dir.insert((atom!("?-"), Fixity::In), OpDesc::build_with(1200, XFX)); op_dir.insert((atom!("?-"), Fixity::Pre), OpDesc::build_with(1200, FX)); op_dir.insert((atom!(","), Fixity::In), OpDesc::build_with(1000, XFY));