[parenscript-devel] Tighter keyword arguments?

Nick Fitzgerald fitzgen at gmail.com
Thu Aug 5 19:51:53 UTC 2010


+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 at 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 at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/parenscript-devel/attachments/20100805/34e1b09c/attachment.html>


More information about the parenscript-devel mailing list