-module(akk). -export([new/0, add/1, flush/0, collect/1]). new() -> register(akkPid, spawn(?MODULE, collect, [[]])). add(E) -> akkPid ! {add, E}. flush() -> akkPid ! {flush, self()}, receive L -> L end. collect(L) -> receive {add, E} -> collect(L ++ [E]); {flush, Pid} -> Pid ! L end.