It is possible in Maple for a function to take a variable number of parameters. An example of such a function is the max function. Here is an initial attempt to code up this function
MAX := proc(x1) local maximum,i;
maximum := x1;
for i from 2 to nargs do
if args[i] > maximum then maximum := args[i] fi
od;
maximum
end;
The special variable nargs is the number of arguments, and the
variable args is a sequence of the arguments, hence args[i]
is the 'th argument.