<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div><br></div>Great issues!<div><br></div><div>The important thing about the dependency mechanism is that it’s all within the same thread; 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).  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><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>
<meta charset="UTF-8"><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"></span><meta charset="UTF-8"><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. Even<caret></caret>still, 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></body></html>