4 Aug
2010
4 Aug
'10
7:30 p.m.
The code that's generated for a keyword argument goes like this: (ps (defun foo (&key a) (bar a))) => (abbreviated for clarity): "function foo() { var a; // ... pick out and assign keyword args ... if (a === undefined) { a = null; }; return bar(a); };" It seems to me that this could be made tighter as follows: "function foo() { var a = null; // ... pick out and assign keyword args ... return bar(a); };" The only difference I can think of is when someone explicitly passes undefined as a value for the argument, but that's an oxymoronic thing to do. Can anyone think of a reason not to make this change? I like PS's keyword arguments a lot, but the generated JS is bloated enough to make me wince.