<html><head></head><body>  <div><br></div><div><br></div><div id="protonmail_signature_block" class="protonmail_signature_block"><div>—<br>Have a good one; keep it, light.<br>Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇<br><br>Sent from Callisto House mobile - Ganymede<br>:: decentralized mobile homeless solutions ::</div></div> <div class="signature_br" contenteditable="false"><br></div><div class="signature_br" contenteditable="false"><br></div>  <div><br></div><div><br></div>On Tue, Feb 28, 2023 at 16:25, Stephen Travis Pope <<a href="mailto:stephen@heaveneverywhere.com" class="">stephen@heaveneverywhere.com</a>> wrote:<blockquote class="protonmail_quote" type="cite">  <div><br></div>Great issues!</blockquote>I’m smiling. Anticipations of the sculpting of +7.0 Wonderous Items. So very rare, the leather squeaks! <caret></caret>Feels so good!<br><blockquote class="protonmail_quote" type="cite" dir="auto"><div>The important thing about the dependency mechanism is that it’s all within the same thread;</div></blockquote>Do you mean each native thread or a Squeak green thread (Process)?<div dir="auto"><br></div><div dir="auto">ESqueak’s Vat has a 4-range priority q, semaphore/mutex protected. These contain closures/#valuables, called Message Sends as opposed to message calls. The Vat runs a EventualProcess on the Scheduler, at priority 30. PriotityVat>>#nextPriorityMessage safely selects the next highest priority message, and evaluated it, in partial ordering, which only applies to remote sending. The local Vat’s ordering for local sends is fully ordering. <caret></caret><br><blockquote class="protonmail_quote" type="cite"><div> obviously any component can choose whether to delay or queue updates, but it receives the update: message synchronously from the model (together with all other dependents). </div></blockquote>#update: could be sent eventually.<caret></caret><br><blockquote class="protonmail_quote" type="cite" dir="auto"><div dir="auto"> One could add aspect filtering (i.e., the dependents collection becomes a dictionary keyed by symbolic aspect) to reduce the number of updates if that becomes an issue.</div></blockquote>This is the dictionary used in the actionSequenceMap.</div><div dir="auto"><br></div><div dir="auto">🐰<caret></caret><br><blockquote class="protonmail_quote" type="cite" dir="auto"><div><br></div><div>As to what’s wrong with the Wrapper framework, well, it was initially called “Navigator” (this was before web browsers stole the name), and the annoying thing about debugging was the levels of nesting of wrappers, so you sometimes had to drill down several layers to find the object that was doing the real work.  This applies both to model wrappers and GUI component wrappers, but one can certainly extend explorers to (e.g.,) jump to a nested visual component subclass.</div><div><br></div><div>The MVC framework extended all the way up to the top-level views, where it’s convenient to have separate views and controllers.</div><div><br></div><div>stp</div><div><div>
<br class="Apple-interchange-newline" style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px; float: none; display: inline !important;">--------</span><br style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px;"><br style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px;"><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px; float: none; display: inline !important;">Stephen Travis Pope    Ojai,</span><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px; float: none; display: inline !important;"> </span><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px; float: none; display: inline !important;">California, USA</span><br style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px;"><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: HelveticaNeue; font-size: 12px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">    </span><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: HelveticaNeue; font-size: 12px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"></span><span style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 12px;"></span><span style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"></span><span style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 16px;"></span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: "Times New Roman"; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;"></span><span><img alt="pastedGraphic.tiff" src="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net" src-original-pm-cid="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net"></span><font face="HelveticaNeue" style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><span style="font-style: normal; font-size: 12px;"><br>     http://HeavenEverywhere.com</span></font><div style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><font face="HelveticaNeue" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="font-style: normal; font-size: 12px;">     http://FASTLabInc.com</span></font></div><div style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><font face="HelveticaNeue" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="font-style: normal; font-size: 12px;">     https://vimeo.com/user19434036/videos</span></font></div><div style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><font face="HelveticaNeue" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="font-style: normal; font-size: 12px;">     </span></font><span style="font-size: 12px; font-family: HelveticaNeue;">http://heaveneverywhere.com/Reflections</span></div><div style="font-family: "Times New Roman"; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; font-size: 16px; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><font face="HelveticaNeue" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="font-style: normal; font-size: 12px;"><br></span></font><br style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: "Times New Roman"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"></div>
</div>
<div><br><blockquote type="cite"><div>On Feb 28, 2023, at 1:14 PM, rabbit <rabbit@callistohouse.org> wrote:</div><br class="Apple-interchange-newline"><div><div>  <div dir="auto">Or use the built in promises and consider process switching in the Scheduler to be the vat. Evenstill, eventual sending is eventual sending. It’s a whole other thing.</div><div><br></div><div id="protonmail_signature_block" class="protonmail_signature_block"><div>—<br>Have a good one; keep it, light.<br>Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇<br><br>Sent from Callisto House mobile - Ganymede<br>:: decentralized mobile homeless solutions ::</div></div> <div class="signature_br" contenteditable="false"><br></div><div class="signature_br" contenteditable="false"><br></div>  <div><br></div><div><br></div>On Tue, Feb 28, 2023 at 16:02, rabbit <<a href="mailto:rabbit@callistohouse.org">rabbit@callistohouse.org</a>> wrote:<blockquote class="protonmail_quote" type="cite">




    <div dir="auto"><span style="color: var(--text-color); background:
        var(--bg-color);" dir="auto">
        <div dir="auto" style="letter-spacing: normal; orphans: auto;
          text-align: start; text-indent: 0px; text-transform: none;
          white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none;
          unicode-bidi: plaintext; outline: none; San Francisco",
          Helvetica, Arial, sans-serif; -webkit-text-size-adjust: none;">Hi.
          I’d humbly suggest…</div>
        <div dir="auto" style="letter-spacing: normal; orphans: auto;
          text-align: start; text-indent: 0px; text-transform: none;
          white-space: normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none;
          unicode-bidi: plaintext; outline: none; San Francisco",
          Helvetica, Arial, sans-serif; -webkit-text-size-adjust: none;"><br style="unicode-bidi: plaintext;">
        </div>
        <span style="letter-spacing: normal; orphans: auto; text-align:
          start; text-indent: 0px; text-transform: none; white-space:
          normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none; San
          Francisco", Helvetica, Arial, sans-serif;
          -webkit-text-size-adjust: none; float: none; display: inline
          !important;">On Tue, Feb 28, 2023 at 15:36, Stephen Travis
          Pope <</span><a href="mailto:stephen@heaveneverywhere.com" class="moz-txt-link-freetext" style="letter-spacing: normal;
          orphans: auto; text-align: start; text-indent: 0px;
          text-transform: none; white-space: normal; widows: auto;
          word-spacing: 0px; -webkit-text-stroke-width: 0px;
          unicode-bidi: plaintext; San Francisco", Helvetica,
          Arial, sans-serif; -webkit-text-size-adjust: none;">stephen@heaveneverywhere.com</a><span style="letter-spacing: normal; orphans: auto; text-align:
          start; text-indent: 0px; text-transform: none; white-space:
          normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none; San
          Francisco", Helvetica, Arial, sans-serif;
          -webkit-text-size-adjust: none; float: none; display: inline
          !important;">> wrote</span><br style="letter-spacing:
          normal; orphans: auto; text-align: start; text-indent: 0px;
          text-transform: none; white-space: normal; widows: auto;
          word-spacing: 0px; -webkit-text-stroke-width: 0px;
          text-decoration: none; unicode-bidi: plaintext; San
          Francisco", Helvetica, Arial, sans-serif;
          -webkit-text-size-adjust: none;">
        <br style="letter-spacing: normal; orphans: auto; text-align:
          start; text-indent: 0px; text-transform: none; white-space:
          normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none;
          unicode-bidi: plaintext; San Francisco", Helvetica,
          Arial, sans-serif; -webkit-text-size-adjust: none;">
        <blockquote class="protonmail_quote" type="cite" dir="auto" style="letter-spacing: normal; orphans: auto; text-align:
          start; text-indent: 0px; text-transform: none; white-space:
          normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none;
          unicode-bidi: plaintext; San Francisco", Helvetica,
          Arial, sans-serif; -webkit-text-size-adjust: none; padding:
          0px 0px 0px 0.6rem !important; margin: 0px !important;
          border-style: solid !important; border-width: 0px 0px 0px 1px
          !important; margin-block: 1rem 20px !important; margin-inline:
          0px !important;">
          <div style="unicode-bidi: plaintext; outline: none;">3: the
            thread-unsafe nature of Morphic, and</div>
        </blockquote>
        Load ‘ESqueak.release.1’ and make the UI thread run in a Vat.
        Use eventual sending, not with math, but MVC component level.<br>
        <blockquote class="protonmail_quote" type="cite" dir="auto" style="letter-spacing: normal; orphans: auto; text-align:
          start; text-indent: 0px; text-transform: none; white-space:
          normal; widows: auto; word-spacing: 0px;
          -webkit-text-stroke-width: 0px; text-decoration: none;
          unicode-bidi: plaintext; San Francisco", Helvetica,
          Arial, sans-serif; -webkit-text-size-adjust: none; padding:
          0px 0px 0px 0.6rem !important; margin: 0px !important;
          border-style: solid !important; border-width: 0px 0px 0px 1px
          !important; margin-block: 1rem 20px !important; margin-inline:
          0px !important;">
          <div style="unicode-bidi: plaintext; outline: none;" dir="auto"><span style="color: var(--text-color);
              background: var(--bg-color);" dir="auto">4: Morphic isn’t
              MVC and doesn’t use the dependency mechanism for updating,
              leading to poor scalability and multiple viewing.</span></div>
        </blockquote>
        <div dir="auto">I could easily add these for dependencies to be
          thread safe.</div>
      </span>
      <ul>
        <li><span style="color: var(--text-color); background:
            var(--bg-color);" dir="auto">
            <div dir="auto">Object>>#ewhen:
              anEventSelector send: aMessageSelector to: anObject<br>
                  self when: anEventSelector evaluate:
              (EventualMessageSend receiver: anObject selector:
              aMessageSelector)</div>
          </span></li>
      </ul>
      <span style="color: var(--text-color); background:
        var(--bg-color);" dir="auto"></span>
      <ul>
        <li><span style="color: var(--text-color); background:
            var(--bg-color);" dir="auto">
            <div dir="auto">Object>>#ewhen: anEventSelector send:
              aMessageSelector to: anObject with: anArg<br>
                  self when: anEventSelector evaluate:
              (EventualMessageSend receiver: anObject selector:
              aMessageSelector argument: anArg)<br>
              <br>
            </div>
          </span></li>
        <li><span style="color: var(--text-color); background:
            var(--bg-color);" dir="auto">
            <div dir="auto">Object>>#ewhen: anEventSelector send:
              aMessageSelector to: anObject withArguments: anArgArray<br>
                  self when: anEventSelector evaluate:
              (EventualMessageSend receiver: anObject selector:
              aMessageSelector arguments: anArgArray)</div>
          </span></li>
      </ul>
      <span style="color: var(--text-color); background:
        var(--bg-color);" dir="auto">Cheers!<br>
      </span></div>
    <div dir="auto"><span style="color: var(--text-color); background:
        var(--bg-color);" dir="auto"><br>
      </span></div>
    <div dir="auto"><span style="color: var(--text-color); background:
        var(--bg-color);" dir="auto">—</span><br>
    </div>
    <div id="protonmail_signature_block" class="protonmail_signature_block">
      <div dir="auto">Have a good one; keep it, light.<br>
        Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇<br>
        <br>
        Sent from Callisto House mobile - Ganymede<br>
        • decentralized mobile homeless solutions<br>
      </div>
    </div>


</blockquote></div><br></div></blockquote></div><br></div></blockquote></div></body></html>