:- module main. main :- true | klicio:klicio([stdout(RO)]), main(RO). main(normal(O)) :- true | unix:argv([Host | _]), % pingd:pingd(Ts) @node(Host), remote:call(pingd:pingd(Ts), Host), O = [fwrite(Host), fwrite(": pinging.\n") | O1 ], putt(0, 0, Ts, O1). putt(0, N, Ts, O) :- wait(N) | O = [putt(N), fwrite(" sent, "), fflush(F) | O1 ], Ts = [N, T | Ts1], putt(F, N, T, Ts1, O1). putt(0, N, T, Ts, O) :- wait(T) | O = [putt(T), fwrite(" received.\n"), fflush(F) | O1 ], N1 := N + 1, putt(F, N1, Ts, O1).