I'm seeing a bug in how conditionals are grouped together.
(ps (return (if (if x y z) a b))) => "return x ? y : z ? a : b;"
This requires parentheses in order to evaluate the way the PS expression was clearly intended, namely:
(x ? y : z) ? a : b
PS appears to make the wrong decision about when to include parentheses, since it does it here when the default would do:
(ps (return (if x y (if z a b)))) => "return x ? y : (z ? a : b);"
Daniel
Fixed. Thanks for the bug report.
Vladimir
On Fri, Apr 24, 2009 at 11:57 PM, Daniel Gackle danielgackle@gmail.com wrote:
I'm seeing a bug in how conditionals are grouped together.
(ps (return (if (if x y z) a b))) => "return x ? y : z ? a : b;"
This requires parentheses in order to evaluate the way the PS expression was clearly intended, namely:
(x ? y : z) ? a : b
PS appears to make the wrong decision about when to include parentheses, since it does it here when the default would do:
(ps (return (if x y (if z a b)))) => "return x ? y : (z ? a : b);"
Daniel
parenscript-devel mailing list parenscript-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
parenscript-devel@common-lisp.net