Files
mercury/tests/debugger/declarative/lpe_example.m
Mark Brown f958cc5225 Fix the output of the declarative debugger so that it prints out
Estimated hours taken: 5

Fix the output of the declarative debugger so that it prints out
something that resembles a bug.  Re-enable all the test cases,
and add some new ones.  Add an `.exp2' file for each case, so
that tests work in debug grades as well as non-debug grades.

browser/declarative_debugger.m:
	Output a text representation of the bug.  The output is
	rather unpretty, but allows us to check that the bug was
	found correctly.

tests/debugger/declarative/Mmakefile:
	Enable the new test cases.  Re-enable the old ones.

tests/debugger/declarative/app.exp:
tests/debugger/declarative/gcf.exp:
tests/debugger/declarative/if_then_else.exp:
tests/debugger/declarative/oracle_db.exp:
tests/debugger/declarative/propositional.exp:
tests/debugger/declarative/queens.exp:
	Update old test case results.

tests/debugger/declarative/app.exp2:
tests/debugger/declarative/gcf.exp2:
tests/debugger/declarative/if_then_else.exp2:
tests/debugger/declarative/oracle_db.exp2:
tests/debugger/declarative/propositional.exp2:
tests/debugger/declarative/queens.exp2:
	Alternative results for old test cases.

tests/debugger/declarative/big.{m,inp,exp,exp2}:
tests/debugger/declarative/lpe_example.{m,inp,exp,exp2}:
tests/debugger/declarative/neg_conj.{m,inp,exp,exp2}:
tests/debugger/declarative/negation.{exp,exp2,inp}:
tests/debugger/declarative/small.{m,inp,exp,exp2}:
	New test cases.
2000-01-06 05:15:09 +00:00

37 lines
458 B
Mathematica

:- module lpe_example.
:- interface.
:- import_module io.
:- pred main(io__state::di, io__state::uo) is det.
:- implementation.
:- import_module std_util, int.
main -->
{ solutions(p(1), Ss) },
io__write(Ss),
io__nl.
:- pred p(int, int).
:- mode p(in, out) is nondet.
p(0, 0).
p(1, X) :-
q(A),
(
r(A, X)
;
X = A
).
:- pred q(int).
:- mode q(out) is det.
q(3).
:- pred r(int, int).
:- mode r(in, out) is multi.
r(X, X + 10).
r(X, X + 20).