<!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>