:- module lambdahead.

:- interface.

:- import_module io.

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

:- implementation.

:- import_module int.
:- import_module list.

main(!IO) :-
    add_list(4, [1, 2, 3], L),
    io.write(L, !IO),
    io.nl(!IO).

:- pred add_list(int::in, list(int)::in, list(int)::out) is det.
add_list(X, L0, L) :-
    list.map((pred(A::in, B::out) is det :- B = A + X),
             L0, L).

:- pred add_list2(int::in, list(int)::in, list(int)::out) is det.
add_list2(X, L0, L) :-
    list.map((pred(A::in, A + X::out) is det), L0, L).
