-module(fib). -compile(export_all). fib(0) -> 0; fib(1) -> 1; fib(N) -> fib(N-1) + fib(N-2). fibs(N) -> [fib(X) || X <- lists:seq(1, N)]. fibp() -> receive {From, {fib, N}} -> From ! {self(), {N, fib(N)}} end. fibsp(N) -> lists:foreach( fun(X) -> Pid = spawn(fun() -> fibp() end), Pid ! {self(), {fib, X}} end, lists:seq(1, N)), lists:map( fun(X) -> receive {_From, {X, Fib}} -> {X, Fib} end end, lists:seq(1, N)).