I think it's significant, though admittedly minor, because readable JS is one of the goals of the project.
Speaking of readable JS, by far the biggest problem I encounter is when PS bundles a complex expression into comma-delimited Javascript like "(foo(),bar(),baz())" which is basically a progn that evaluates to baz(). These things often create monstrous one-liners. I don't have a good idea of what to do about it -- I recall that Vladimir tried to pretty-print them at one point and this turned out harder than it seemed -- but it's definitely the #1 thing that would prevent me from trying to persuade a JS programmer that my compiled PS is readable. On Thu, Jan 17, 2013 at 9:44 AM, Boris Smilga <[email protected]>wrote: > Also, there is this baddie: > > > On 16 Jan 2013, at 00:18, David Sargeant wrote: > > (function () { >> var collect66 = []; >> for (var num = 10; num <= 1; num += 1) { >> collect66['push'](num); >> > ^^^^^^^^^^^^^^^^^^^^^^^^^^ > >> }; >> return collect66; >> })(); >> > > Not at all a major issue, but collect66.push would fit rather better in > this context. There are a couple more instances of this kind in the code > of ParenScript, they all boil down to keywords being used with @ instead of > literal symbols: > > src/lib/ps-dom.lisp:6: `(@ ,el :inner-h-t-m-l)) > src/lib/ps-dom.lisp:12: `((@ ,el :get-attribute) ,attr)) > src/lib/ps-loop.lisp:102: (then (if (numberp by) `((@ ,var :slice) > ,by) `(,by ,var)))) > src/lib/ps-loop.lisp:167: (:collect `((@ ,var :push) ,item)) > src/macros.lisp:177: (if (eql ,funobj (@ __PS_MV_REG > :tag)) > src/macros.lisp:178: (@ __PS_MV_REG :values) > src/non-cl.lisp:189: `((@ (list ,@things) :join) ""))) > > Do you think we should fix them, or is this totally insignificant? > > — B. Smilga. > > > > ______________________________**_________________ > parenscript-devel mailing list > parenscript-devel@common-lisp.**net <[email protected]> > http://lists.common-lisp.net/**cgi-bin/mailman/listinfo/** > parenscript-devel<http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel> >
_______________________________________________ parenscript-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
