<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On 18 April 2014 05:11, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for that great explanation -- (my interest in in man-machine<br>
interfaces has always made this an interesting topic for me).<br>
<br>
I&#39;ve got to say, I totally get you.  I know exactly how you feel<br>
because its exactly how I feel about &quot;Auto Indent&quot;.  I drives me nuts<br>
in exactly the ways you&#39;ve described about Auto Enclose, and for the<br>
same exact reasons.  It totally intrudes on my typing, disrupting my<br>
train of thought because its guessing wrong half the time and forcing<br>
me into a bunch of little &quot;decisions&quot; whether I need to press Tab or<br>
Backspace.  I know what I want to type, I just want to let-it-flow.<br>
<br>
This made me pause to ask, &quot;so why do I like Auto Enclose so much, but<br>
not Auto Indent?&quot;<br>
<br>
It&#39;s because of Squeak&#39;s amazing little collection of 2 or 3 editing<br>
features turn it into like a poor-mans Scratch.  You know, the ones<br>
we&#39;ve been talking about:  1) selecting innards, 2) hot-key<br>
adding/removing of surrounding enclosures, 3) auto format.  Once using<br>
those, Auto Enclose rounds it out nicely, (and disabling<br>
selectionMayShrink boosts it even one more notch).<br>
<div class=""><br>
&gt;&gt; You know, I bet this boils down to a simple cost-benefit analysis. For me,<br>
&gt;&gt; the effort required to<br>
&gt;&gt; type a character at the cursor position is negligible, so saving that<br>
&gt;&gt; effort is of little benefit. Even<br>
&gt;&gt; in cases where I will need to put a $) after the expression I&#39;m typing<br>
&gt;&gt; now, sometimes I&#39;ll have to<br>
&gt;&gt; type right-arrow to get past it. So the benefit is very small and often<br>
&gt;&gt; offset by a small loss.<br>
<br>
</div>It&#39;s not about saving keystrokes.  It&#39;s about automatic closure of<br>
multiple nested expressions.  Query&#39;s like this are almost impossible<br>
to &quot;type&quot; without Auto Enclose:<br>
<br></blockquote><div><br>Usually, when this happens, this is a good sign that your code needs refactoring.<br><br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

     ^ (cube<br>
          plot: [ : dim | dim date month ]<br>
          measures:<br>
               [ : meas |<br>
               (meas mean score plotNumber: 1)<br>
               , ((meas<br>
                    define: #fractionOfWinners<br>
                    as: [ : cell | cell total winnerCount / cell total<br>
count ]) plotNumber: 2)<br>
               , (meas mean gainFactor<br>
                    plotNumber: 3;<br>
                    colorizer: [ : val | val &gt; 0 ifTrue: [Color green<br>
twiceDarker] ifFalse: [ Color red twiceDarker ] ]) ]<br>
          where:<br>
               [ : cell |<br>
               (cell dimension date year equalTo: Date today asYear)<br>
               | (cell dimension date year equalTo: Date today asYear<br>
previous) ]) open<br>
<br>
It&#39;d be much more easily &quot;assembled&quot;, expression by expression, but<br>
Auto Enclose gives typing it at least a chance of success.  :)<br>
<div class=""><br>
&gt;&gt; Similarly, deleting an unwanted character is cheap, but deciding whether<br>
&gt;&gt; to do so is a huge cost.<br>
&gt;&gt; I have to stop thinking about what I&#39;m doing, and think ahead to what I&#39;m<br>
&gt;&gt; going to do next. Even<br>
&gt;&gt; if I know I&#39;m going to need the closing character, it stays in my field of<br>
&gt;&gt; view and takes up cycles<br>
&gt;&gt; as a pending thing that I have to worry about until I complete the encoded<br>
&gt;&gt; expression.<br>
<br>
</div>So I&#39;m surprised you don&#39;t better appreciate the atomicity of<br>
expression-editing.  Deleting a paren/brace/quote character breaks the<br>
code and even breaks the formatter so you can get really stuck on<br>
complex expressions.  Taking an approach of expression-editing, one is<br>
determined not to let the code ever be broken even for a short period<br>
of time.<br>
<div class=""><br>
&gt;&gt; So, the benefit is small and unreliable, while the cost is large and<br>
&gt;&gt; inevitable. It forces me to think<br>
&gt;&gt; about typing, which normally I don&#39;t have to do. Thus, it&#39;s infuriating.<br>
<br>
</div>Yep, I totally get you.  But if you ever decide to try committing to<br>
Squeak&#39;s very capable expression-editing functions, I hope it&#39;ll work<br>
out as well for you as for me.<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Igor Stasenko.
</div></div>