<html><head></head><body>
<p>Hi everyone,<br/>
<br/>
Thanks to a response on the Squeak Slack channel, I was able to
get most of this done by calling a pre-existing method. Please
run:</p>
<blockquote>Installer ss project: 'Cryptography'; install:
'PromisesLocal'.<br/>
</blockquote>
<p><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">Oh! Marcel,
this is precisely what I needed, it is already done! I changed
the EventualMessageSend>>#value to call this code you
shared. StandardToolSet debugException: ex.</span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; display: block; height: 8px; color:
rgb(29, 28, 29); font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal; font-variant-ligatures:
common-ligatures; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">I run this
script to test:</span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing:
inherit; display: block; height: 8px; color: rgb(29, 28, 29);
font-family: Slack-Lato, appleLogo, sans-serif; font-size: 15px;
font-style: normal; font-variant-ligatures: common-ligatures;
font-variant-caps: normal; font-weight: 400; letter-spacing:
normal; orphans: 2; text-align: left; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">(1 eventual /
0) explore.</span><br style="box-sizing: inherit; color: rgb(29,
28, 29); font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal; font-variant-ligatures:
common-ligatures; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"/>
<span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">1 eventual
explore.</span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing:
inherit; display: block; height: 8px; color: rgb(29, 28, 29);
font-family: Slack-Lato, appleLogo, sans-serif; font-size: 15px;
font-style: normal; font-variant-ligatures: common-ligatures;
font-variant-caps: normal; font-weight: 400; letter-spacing:
normal; orphans: 2; text-align: left; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">The first
line results in an exception and we get a exception notifier and
also an explorer on the PromisERef. The promise is resolved to
an exception and it #becomes a BrokenERef.</span></p>
<img moz-do-not-send="false" src="cid:part1.1DD0DF7D.8E4BDB82@pm.me" alt="" width="350" height="250"/><img moz-do-not-send="false" src="cid:part2.2DB15F69.0DADDD16@pm.me" alt="" width="370" height="270"/>
<p><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"></span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; display: block; height: 8px; color:
rgb(29, 28, 29); font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal; font-variant-ligatures:
common-ligatures; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">In looking
into the exception notifier and the exception browser is that
the top frame is the signaler context. Perfect.</span></p>
<img moz-do-not-send="false" src="cid:part3.F8E959CD.DE2701CE@pm.me" alt="" width="470" height="220"/><img moz-do-not-send="false" src="cid:part4.9A09738D.A8B79E4C@pm.me" alt="" width="406" height="368"/>
<p><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"></span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; display: block; height: 8px; color:
rgb(29, 28, 29); font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal; font-variant-ligatures:
common-ligatures; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">The second
line validates that the event loop is unblocked. This results in
a second inspector on a near value of 1.</span></p>
<img moz-do-not-send="false" src="cid:part5.0BD7AD04.49187C53@pm.me" alt="" width="350" height="250"/>
<p><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;"></span><span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; display: block; height: 8px; color:
rgb(29, 28, 29); font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal; font-variant-ligatures:
common-ligatures; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgba(242, 199, 68, 0.1);
text-decoration-style: initial; text-decoration-color: initial;"></span><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">The only
remaining work is that when proceeded, the exception will
reschedule the stack into the vat's queue.</span></p>
<p><span style="color: rgb(29, 28, 29); font-family: Slack-Lato,
appleLogo, sans-serif; font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures; font-variant-caps:
normal; font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: left; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgba(242, 199,
68, 0.1); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">Kindly,<br/>
rabbit<br/>
</span></p>
<div class="moz-cite-prefix">On 7/12/20 1:38 PM, Robert Withers
wrote:<br/>
</div>
<blockquote type="cite" cite="mid:6085c2c4-a33c-63c7-0a6d-a90b87ef7fdd@pm.me">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<p><br/>
</p>
<div class="moz-cite-prefix">On 6/26/20 2:37 PM, Robert Withers
wrote:<br/>
</div>
<blockquote type="cite" cite="mid:f7466948-31f8-b397-55df-d25bf6d9b890@pm.me">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8"/>
On 6/26/20 1:55 PM, Robert Withers wrote:<br/>
<blockquote type="cite" cite="mid:88caa1b0-25b4-2fb3-e53a-6144ae7e0077@pm.me">
<pre class="moz-quote-pre" wrap="">Closer to my heart, at this point are my questions and request for help
in splitting off a pruned stack for an exception, to unblock the event
loop yet still allow introspection of an error, or a halt. Here is what
I wrote. Tim, might you be able to advise me here? <b class="moz-txt-star"><span class="moz-txt-tag">*</span>lost<span class="moz-txt-tag">*</span></b>
<a class="moz-txt-link-freetext" href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-June/210452.html" moz-do-not-send="true">http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-June/210452.html</a></pre>
</blockquote>
</blockquote>
<p>The requirements for exceptions within an event loop are:</p>
<ol>
<li>Copy stack<br/>
</li>
<li>Restart eventLoop</li>
<li>Prune stack/Create Continuation</li>
<li>Open Debugger</li>
<li>When Proceeded, reschedule EventualMessageSend, on the
Continuation, in the vat queue.</li>
</ol>
<p>Would someone please help me here? I am a little lost. I
appreciate you!</p>
<p>Kindly,<br/>
rabbit<br/>
</p>
<blockquote type="cite" cite="mid:f7466948-31f8-b397-55df-d25bf6d9b890@pm.me">
<p>Not only do I want this, but the short stack, when Proceeded,
should reschedule an eventual message on the event loop to
reintroduce this short stack back into event loop land. As
such, i was thinking perhaps a continuation could enable this.
Liekwise, when a exception is thrown, do these steps:</p>
<blockquote>
<ol>
<li>Modify the Vat to have a an active stack, a priority
queue and a vat-aware continuation pool.<br/>
</li>
<li>Copy the stack. Does this mean create a special
continuation, that is event loop aware?<br/>
</li>
<li>Resume the event loop by discarding the previous event
handling exception.</li>
<li>Prune the stack (of the continuation). above and below.
Site of signaled exception.<br/>
</li>
<li>Open a Debugger</li>
<li>On Proceed, reschedule the eventual message in the Vat's
queue.</li>
</ol>
</blockquote>
<p>I have no idea what B looks like. Outside of my experience
doing continuations and stack manipulation and pool
scheduling. I need a VatSemaphore (please peruse the
ResultSemaphore in PromisesRemote). I pray someone may swoop
in with solutions!</p>
<p>Kindly,<br/>
rabbit<br/>
</p>
</blockquote>
</blockquote>
</body></html>