+1 from me but that doesn't mean too much.

No need to explicitly set them as `null`, because JS already has (the more semantic in this case) `undefined`.

_Nick_



On Wed, Aug 4, 2010 at 12:30 PM, Daniel Gackle <danielgackle@gmail.com> wrote:
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.

_______________________________________________
parenscript-devel mailing list
parenscript-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel