I pushed a patch that simplifies keyword and optional parameter processing.
I don't know what browsers you're targeting, but if you want even less noise, set *js-target-version* to 1.6 and it will use Array.indexOf to get at the keywords. Vladimir 2010/8/4 Daniel Gackle <[email protected]>: > 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 > [email protected] > http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel > > _______________________________________________ parenscript-devel mailing list [email protected] http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
