<div><div><div>(ps (create a 11 b 22)) => "{ a : 11, b : 22 };", which is illegal at</div><div>the top level because JS interprets the curly braces as statement</div><div>block delimiters. PS should probably generate "({ a : 11, b : 22 })"</div>

<div>instead.</div><div><br></div><div>Similarly, (ps (lambda () 123)) =></div><div><br></div><div>"function () {</div><div>    return 123;</div><div>};"</div><div><br></div><div>is also illegal at the top level and should also be wrapped in parens.</div>

<div><br></div><div>Such forms obviously don't come up much in source files, but they do</div><div>in a REPL.  We're making a PS REPL (and source-level debugger) for</div><div>Emacs, which is how we ran across them.</div>

</div></div>