<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Jaromir,<br>
    <br>
    I think this is a good idea, and I agree with the desire to go back
    to the older Squeak design. However, I don't know why it was made
    more complicated. It would be good to understand the rationale
    behind those changes, unless we can be sure that the behavior is
    identical.<br>
    <br>
    Did you get any relevant feedback from the Squeak list? Maybe
    someone who is aware of the history of these changes is still
    available to tell.<br>
    <br>
    If not, I can spend a little more time and try to do a proper review
    of the changes myself, although, as you know, this is a bit beyond
    my comfort zone!<br>
    <br>
    Thanks!<br>
    <br>
    On 2/2/2023 3:28 PM, Jaromir Matas via Cuis-dev wrote:
    <blockquote
cite="mid:PH7PR12MB798768E4A735427C82B1DB5BEED69@PH7PR12MB7987.namprd12.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
        {mso-style-priority:1;
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.m-1962667289679495542msonospacing, li.m-1962667289679495542msonospacing, div.m-1962667289679495542msonospacing
        {mso-style-name:m_-1962667289679495542msonospacing;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">Hi Hern<span lang="CS">á</span>n,</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks for your message!</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">> I'll take a look at the code you sent
          but I prefer for Juan to return to integrate it</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">… of course, there’s no rush, the
          duplication has been around for 20 years :D</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Most of all, I’m interested in your
          opinions. As an example, I find this call sequence desperately
          begging for simplification:
          <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Exception>>resume: -->
          resumeUnchecked: --> resumeEvaluating: -->
          Context>>returnEvaluating: --> resumeEvaluating:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I mean: in order to resume from an
          exception you have to traverse four other methods rather than
          just getting it done in Exception>>resume: as was
          originally implemented in Squeak 2.8 through 3.5. My aim is to
          get back to this design - unless I’ve missed some fundamental
          reason why not to. Any feedback *<b>very</b>* welcome.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks again,</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNoSpacing"><span lang="CS">--</span></p>
        <p class="MsoNoSpacing"><strong><span style="font-family:
              "Calibri Light",sans-serif; color: rgb(51, 51,
              51); font-weight: normal;">Jaromír Matas</span></strong><span
            style="font-family: "Calibri Light",sans-serif;
            color: rgb(85, 85, 85);"><o:p></o:p></span></p>
        <p class="MsoNoSpacing"><span style="font-family: "Calibri
            Light",sans-serif; color: rgb(46, 117, 182);"><a class="moz-txt-link-abbreviated" href="mailto:mail@jaromir.net">mail@jaromir.net</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: rgb(143, 170, 220);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border-right: medium none; border-width: 1pt medium
          medium; border-style: solid none none; border-color: rgb(225,
          225, 225) -moz-use-text-color -moz-use-text-color; padding:
          3pt 0in 0in;">
          <p class="MsoNormal" style="border: medium none; padding:
            0in;"><b>From: </b><a moz-do-not-send="true"
              href="mailto:hernan.wilkinson@10pines.com">Hernán
              Wilkinson</a><br>
            <b>Sent: </b>Thursday, February 2, 2023 19:00<br>
            <b>To: </b><a moz-do-not-send="true"
              href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis
              Smalltalk</a><br>
            <b>Cc: </b><a moz-do-not-send="true"
              href="mailto:juan@cuis.st">juan@cuis.st</a>; <a
              moz-do-not-send="true" href="mailto:mail@jaromir.net">
              Jaromir Matas</a><br>
            <b>Subject: </b>Re: [Cuis-dev] Code duplication around
            unwinding</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">Hi Jaromir,<o:p></o:p></p>
          <div>
            <p class="MsoNormal"> thank you for this proposal!<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> Juan is on vacation, deserved
              vacations :-) <o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> I'll take a look at the code you sent
              but I prefer for Juan to return to integrate it because he
              was more involved in the changes you sent.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> <o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> About the reason of the duplication of
              code you see the answer could be really simple: copy &
              paste!!! :-) <o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> I also sometimes spend time trying to
              understand why the code is duplicated and most of the time
              it is just that, copy & paste without any intention or
              knowledge to do it better. I mean, usually it is a human
              reason, not a technical one.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">Cheers!<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal">Hernan.<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div>
            <p class="MsoNormal">On Thu, Feb 2, 2023 at 1:38 PM Jaromir
              Matas via Cuis-dev <<a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="border-width: medium medium medium 1pt;
            border-style: none none none solid; border-color:
            -moz-use-text-color -moz-use-text-color -moz-use-text-color
            rgb(204, 204, 204); padding: 0in 0in 0in 6pt; margin: 5pt
            0in 5pt 4.8pt;">
            <div>
              <div>
                <div>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    Hi Juan,</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    I'm enclosing a changeset for your review. I've just
                    sent a similar suggestion to Squeak list hoping to
                    get some feedback.</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    The aim is to reduce the code duplication in
                    ContextPart>>#restart, #resume:through:,
                    #resumeEvaluating: methods that are implementing the
                    same unwind mechanism we already have in unwindTo:.
                    I've always wondered why the same algorithm is
                    duplicated so many times (it used to be in terminate
                    too!) but never really found out.</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    At the same time this code duplication was
                    introduced in Squeak 3.6, the unwind mechanism was
                    moved from the Exception class to ContextPart and,
                    but this is just my hypothesis, never cleaned up
                    properly.</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    I'd be very thankful for your thoughts and your
                    opinion about the enclosed changeset.</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    Many thanks,</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    Jaromir</p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                  <p class="m-1962667289679495542msonospacing"><span
                      lang="CS">--</span></p>
                  <p class="m-1962667289679495542msonospacing"><strong><span
                        style="font-family: "Calibri
                        Light",sans-serif; color: rgb(51, 51, 51);
                        font-weight: normal;">Jaromír Matas</span></strong></p>
                  <p class="m-1962667289679495542msonospacing"><a
                      moz-do-not-send="true"
                      href="mailto:mail@jaromir.net" target="_blank"><span
                        style="font-family: "Calibri
                        Light",sans-serif;">mail@jaromir.net</span></a></p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                    <span style="color: rgb(143, 170, 220);"> </span></p>
                  <p class="MsoNormal" style="margin-left: 4.8pt;">
                     </p>
                </div>
              </div>
              <p class="MsoNormal" style="margin-left: 4.8pt;">-- <br>
                Cuis-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
                <a moz-do-not-send="true"
                  href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
                  target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><o:p></o:p></p>
            </div>
          </blockquote>
        </div>
        <p class="MsoNormal"><br clear="all">
          <o:p></o:p></p>
        <div>
          <p class="MsoNormal"><o:p> </o:p></p>
        </div>
        <p class="MsoNormal">-- <o:p></o:p></p>
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div>
                      <div>
                        <p class="MsoNormal"><strong><span
                              style="font-size: 10pt; font-family:
                              "Tahoma",sans-serif;">Hernán
                              Wilkinson</span></strong><span
                            style="font-size: 10pt; font-family:
                            "Tahoma",sans-serif;"><br>
                            <strong><span style="font-family:
                                "Tahoma",sans-serif;
                                font-weight: normal;">Agile Software
                                Development, Teaching & Coaching</span></strong></span><span
                            style="font-size: 9.5pt;"><o:p></o:p></span></p>
                      </div>
                      <div>
                        <p class="MsoNormal"><strong><span
                              style="font-size: 10pt; font-family:
                              "Tahoma",sans-serif;
                              font-weight: normal;">Phone: +54-011</span></strong><span
                            style="font-size: 10pt; font-family:
                            "Tahoma",sans-serif;">-4893-2057</span><span
                            style="font-size: 9.5pt;"><o:p></o:p></span></p>
                      </div>
                      <div>
                        <p class="MsoNormal"><strong><span
                              style="font-size: 10pt; font-family:
                              "Tahoma",sans-serif;
                              font-weight: normal;">Twitter:
                              @HernanWilkinson</span></strong><span
                            style="font-size: 9.5pt;"><o:p></o:p></span></p>
                      </div>
                      <div>
                        <p class="MsoNormal"><strong><span
                              style="font-size: 10pt; font-family:
                              "Tahoma",sans-serif;
                              font-weight: normal;">site: </span></strong><a
                            moz-do-not-send="true"
                            href="http://www.10pines.com/"
                            target="_blank"><span style="font-size:
                              10pt; font-family:
                              "Tahoma",sans-serif; color:
                              rgb(17, 65, 112);">http://www.10Pines.com</span></a><span
                            style="font-size: 9.5pt;"><o:p></o:p></span></p>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <p class="MsoNormal"><span style="font-size: 9.5pt; font-family:
            "Tahoma",sans-serif;">Address: Alem 896</span><span
            style="font-size: 9.5pt;">, Floor 6, Buenos Aires, Argentina<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>