Files
mercury/tests/declarative_debugger/if_then_else.m
Zoltan Somogyi ecb5e4a9e6 Update the style of many test cases.
tests/declarative_debugger/*.m:
tests/exceptions/*.m:
tests/general/*.m:
tests/grade_subdirs/*.m:
tests/purity/*.m:
tests/submodules/*.m:
tests/typeclasses/*.m:
    Update programming style.

tests/declarative_debugger/*.inp:
    Update line numbers in breakpoint commands.
tests/declarative_debugger/*.exp:
    Update expected line numbers.

tests/exceptions/Mercury.options:
tests/general/Mercury.options:
    Disable some warnings that are irrelevant to the test.
2021-07-25 23:26:17 +10:00

42 lines
778 B
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module if_then_else.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
main(!IO) :-
ite(0, X),
io.write_string("ite(0, ", !IO),
io.write_int(X, !IO),
io.write_string(").\n", !IO),
ite(1, Y),
io.write_string("ite(1, ", !IO),
io.write_int(Y, !IO),
io.write_string(").\n", !IO).
:- pred ite(int::in, int::out) is det.
ite(A, B) :-
( if a(A) then
b(B)
else
a(B)
).
:- pred a(int).
:- mode a(in) is semidet.
:- mode a(out) is det.
a(0).
:- pred b(int).
:- mode b(out) is det.
b(1).