I'm seeing a bug in how conditionals are grouped together.<br><br>(ps (return (if (if x y z) a b)))<br>  => "return x ? y : z ? a : b;"<br><br>This requires parentheses in order to evaluate the way the PS expression was clearly intended, namely:<br>
<br>  (x ? y : z) ? a : b<br><br>PS appears to make the wrong decision about when to include parentheses, since it does it here when the default would do:<br><br>(ps (return (if x y (if z a b))))<br> => "return x ? y : (z ? a : b);"<br>
<br>Daniel<br><br>  <br>