Jamie Zawinski uses that term in his (1997) article "java sucks" as if you should know what it means:
I really hate the lack of downward-funargs; anonymous classes are a lame substitute. (I can live without long-lived closures, but I find lack of function pointers a huge pain.)
It seems to be Lisper’s slang, and I could find the following brief definition here, but somehow, I think I still don’t get it:
Many closures are used only during the extent of the bindings they refer to; these are known as "downward funargs" in Lisp parlance.
Were it not for Steve Yegge, I’d just feel stupid now, but it seems, it might be OK to ask:
Jamie Zawinski is a hero. A living legend. […] A guy who can use the term "downward funargs" and then glare at you just daring you to ask him to explain it, you cretin.
So is there a Lisper here who can compile this for C-style-programmers like me?
Downward funargs are local functions that are not returned or otherwise leave their declaration scope. They only can be passed downwards to other functions from the current scope.
Two examples. This is a downward funarg:
While this is not: