multiple integral



  I would like that maxima has multiple integral, I suggest a notation like that
of mathematica, also it would be very nice to have pattern matching in the
arguments of the functions, I have tried to make it but I caught free variables,
that is because I don't know if I can use gensym in maxima (another solution is
going to lisp and implement this). 
 

 I don't like this one:

   runa([l]):=block([rel], re:l[1],for i:2 thru length(l) do 
if listp(l[i]) then re:apply(integrate,cons(re,l[i])) else
re:integrate(re,l[i]),re); 


mono(f):=funmake(lambda,[[l],block([rel], re:l[1],for i:2 thru length(l) do 
if listp(l[i]) then re:apply(f,cons(re,l[i])) else re:f(re,l[i]),re)]); 


mosca(ff)::=buildq([f:ff],lambda([[l]],(re:l[1],for i:2 thru length(l) do 
if listp(l[i]) then re:apply(f,cons(re,l[i])) else re:f(re,l[i]))));

Integrate:mosca(integrate);