Quick actions

cmd+k|ctrl+k

Navigation

Languages

Parity in Mercury

Snippet info

Language

Mercury

Visibility

public

Author

rightfold

Created

2017-01-01T17:44:42Z

Updated

2017-01-01T20:39:22Z

:- module main.

:- interface.
:- import_module io.

:- pred main(io::di, io::uo) is det.

:- implementation.
:- import_module nat.

:- pred print_parity(nat::in, io::di, io::uo) is det.
print_parity(N, !IO) :-
    io.write_string(if even(N) then "even\n" else "odd\n", !IO).

:- pred example(nat::in, io::di, io::uo) is det.
example(z, !IO).
example(s(N), !IO) :-
    print_parity(N, !IO),
    example(N, !IO).

main(!IO) :-
    example(s(s(s(s(s(s(s(z))))))), !IO).
INFO