<div dir="ltr">Hi All,<div><br></div><div>    code as in the double bars forming the end of block arguments and the beginning of block temporaries in</div><div><br></div><div><div>convertInstances</div><div><span class="" style="white-space:pre">        </span>| new old |</div><div><span class="" style="white-space:pre">        </span>old := Binding allInstances.</div><div><span class="" style="white-space:pre">        </span>new := old collect: [:ea | ClassBinding key: ea key value: ea value].</div><div><span class="" style="white-space:pre">        </span>old elementsForwardIdentityTo: new.</div><div><span class="" style="white-space:pre">        </span></div><div><span class="" style="white-space:pre">        </span>old := ReadOnlyVariableBinding allInstances.</div><div><span class="" style="white-space:pre">        </span>new := old collect: [:ea | ClassBinding key: ea key value: ea value].</div><div><span class="" style="white-space:pre">        </span>old elementsForwardIdentityTo: new.</div><div><span class="" style="white-space:pre">        </span></div><div><span class="" style="white-space:pre">        </span>Environment allInstancesDo:</div><div><span class="" style="white-space:pre">                </span>[:env |</div><div><span class="" style="white-space:pre">                </span>#(&#39;contents&#39; &#39;bindings&#39; &#39;public&#39; &#39;undeclared&#39;) do:</div><div><span class="" style="white-space:pre">=&gt;                        </span>[:var || dict |</div><div><span class="" style="white-space:pre">                        </span>old := Array new writeStream.</div><div><span class="" style="white-space:pre">                        </span>new := Array new writeStream.</div><div><span class="" style="white-space:pre">                        </span>dict := env instVarNamed: var.</div><div><span class="" style="white-space:pre">                        </span>dict associations do:</div><div><span class="" style="white-space:pre">                                </span>[:binding |</div><div><span class="" style="white-space:pre">                                </span>binding class == Association ifTrue:</div><div><span class="" style="white-space:pre">                                        </span>[old nextPut: binding.</div><div><span class="" style="white-space:pre">                                        </span>new nextPut: binding key =&gt; binding value]].</div><div><span class="" style="white-space:pre">                        </span>old contents elementsForwardIdentityTo: new contents]]</div><div><br></div><div>is legal but highlighted as a syntax error by shout.</div><div><br></div><div>What do you prefer, editing the source to | | or fixing Shout to accept the syntax?  The right answer should be fixing shout but the fix will be ugly because || is a binary selector and so this will need to be special cased.</div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>