:− module hello.
:− interface.
:− import module io.
:− pred main(io::di, io::uo) is det.
:− implementation.
main(IOState in, IOState out) :− io.write string(“Hello, World!\n”, IOState in, IOState out).
:− module fib.
:− interface.
:− import module io.
:− pred main(io::di, io::uo) is det.
:− implementation.
:− import module int.
:− pred fib(int::in, int::out) is det.
fib(N, X) :−
(
if N =< 2
then X = 1
else fib(N − 1, A), fib(N − 2, B), X = A + B
).
main(!IO) :−
fib(17, X),
io.write string(“fib(17, ”, !IO),
io.write int(X, !IO),
io.write string(“)\n”, !IO).