%---------------------------------------------------------------------------% % vim: ts=4 sw=4 et ft=mercury %---------------------------------------------------------------------------% :- module deep_warning. :- interface. :- import_module io. :- pred main(io::di, io::uo) is det. :- implementation. :- import_module deep_sub. :- import_module int. main(!IO) :- ( if p(1, X), X > 10 then io.write_string("yes\n", !IO) else io.write_string("no\n", !IO) ), ( if p(2, Y), Y > 10 then io.write_string("yes\n", !IO) else io.write_string("no\n", !IO) ). :- pred p(int::in, int::out) is nondet. p(1, X) :- deep_sub.q(X). p(2, X) :- deep_sub.q(X), r(X, Y), s(Y). :- pred r(int::in, int::out) is det. r(X, X). :- pred s(int::out) is multi. s(2). s(3).