RosettaCodeData/Task/Closures-Value-capture/Prolog/closures-value-capture.pro

15 lines
233 B
Prolog

:-use_module(library(lambda)).
closure :-
numlist(1,10, Lnum),
maplist(make_func, Lnum, Lfunc),
maplist(call_func, Lnum, Lfunc).
make_func(I, \X^(X is I*I)).
call_func(N, F) :-
call(F, R),
format('Func ~w : ~w~n', [N, R]).