Ok, I did the temporary variable thing.
On Thu, Aug 6, 2009 at 7:12 PM, Daniel Gackledanielgackle@gmail.com wrote:
Given that the code currently emitted is incorrect, it's not like you have to worry about backward compatibility. Throwing an error would probably suffice.
On Thu, Aug 6, 2009 at 7:04 PM, Vladimir Sedach vsedach@gmail.com wrote:
I ran across this bug a long time ago. The equivalent of (> x y z) in JS would be (x > y) & (y > z). 'y' is evaluated multiple times, so you'd need to introduce a temporary variable for it. I wonder if there is any other approach (other than limiting the comparison operator to two arguments)?
Vladimir
On Wed, Aug 5, 2009 at 1:45 PM, Daniel Gackledanielgackle@gmail.com wrote:
PS generates code for expressions like (> x y z) as if the operators worked the same way in JS and Lisp, but they don't. For example,
(ps (> 3 2 1)) => "3 > 2 > 1;"
... is an expression that is true in Lisp but false in JS.
Daniel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel