explicit list arguments?



Hi!

Is it possible to have explicit list
arguments?

In other words something like:

foo([lhs,rhs]) := lhs+rhs;

Or if not possible some macro (depending on the args) on the fly like:

foo(lst) := with([lhs:lst[1],rhs:lst[2]], lhs+rhs);

Or any other easy way (possibly no lambda expressions)
to avoid storing the arguments?

  Regards

  Fabrizio