Thanks for the clear answers. Larry: > I think that currying should be extended to > handle any caller-instituted defaulting.
Argh. So obvious! (So of course I missed it.) > Basically, the parameter list of the subroutine > is already providing a limited namespace to be > shared by caller and callee. > ... > But I think it would be wrong for the callee to > start forcing its namespace into the namespace > of the caller beyond what we already do with > named parameter syntax (and $_). Yes. I was following the same principles. But I much prefer your route, that is, to use assuming (a suggested perl lingo replacement for currying) which so clearly fits the bill. I love (natural) brevity, so perhaps one could have .assuming map passed arg values that are variables (rather than pairs) to a target arg of same name: my $tail = "cut_short"; my $ears = "cut_long"; Dog.assuming($tail, $ears); What's the briefest way to say: for [Dog, Devil] { use .assuming($tail, $ears) }; Presumably this won't work: use (Dog&Devil).assuming($tail, $ears); -- ralph