show([L]) := block([n], n: length(L), for i from 1 thru n do disp(L[i]))$
show(1, 2, 3, 4);
apply(show, [1, 2, 3, 4]);
/* Actually, the built-in function "disp" is already what we want */
disp(1, 2, 3, 4);
apply(disp, [1, 2, 3, 4]);