Question: How to unevaluate keyword arguments

Hello,

     I'm attempting to use unevaluation quotes on a keyword argument within a procedure. For instance, if I have two procedures with the same keyword arguments, I need to unevaluate one to call the other:

foo1 := proc( {param:={}}, $)
  foo2('param'=param):
end proc:


foo2 := proc( {param:={}}, $)
end proc:

foo1('param'=1);

The above code throws the error,

Error, (in foo1) invalid input: too many and/or wrong type of arguments passed to foo2; first unused argument is 1 = 1

which I take to mean that 'param' in foo1 isn't being unevaluated in the call to foo2. What is the correct way to accomplish this?

Thanks!

Please Wait...