<html><head></head><body>  <div dir="auto">I think this is great! I’m all in on more cross-dialect interoperability. Thanks for pointing to VW. So fine. The Host Windows is an aspect I love!</div><div dir="auto"><br></div><div dir="auto">I would share my thoughts on UI. I think there needs to be a multitude of “concurrent” Processes. Of course only one Process is running on a particular instance of ProcessorScheduler. My solution, found in Squeak with Cryptography’s Crypto loaded is NearPromises. Instead of concurrent, think of their eventuality. Eventually, the computation will complete and notify me with the result. I can proceed with my subsequent sends queued until the Promise is resolved. Eventual send B May complete before Send A.</div><div dir="auto"><br></div><div dir="auto">In the UI a split would have to be done to determine where to add eventuality. I’m thinking Reactive Programming. I was thinking perhaps all three could be eventual among themselves with special cases going immediate internally like BitBlt. The semantic to pipelining next send to a promise…</div><div dir="auto"><br></div><div dir="auto">   ultiResult := ((42 eventual * 10)</div><div dir="auto">       then: [:res | res // 10])</div><div dir="auto">         waitTimeoutMSecs: 111.</div><div dir="auto"><br></div><div dir="auto">I’m hopeful whomever dives into UI, this consideration be given. A good start would be the event handling interface, I’d think.</div><div dir="auto"><br></div><div dir="auto">I’m grateful for your considerations.<caret></caret></div><div><br></div><div class="protonmail_signature_block" id="protonmail_signature_block"><div>••• rabbit ❤️‍🔥🐰</div></div> <div class="signature_br" contenteditable="false"><br></div><div class="signature_br" contenteditable="false"><br></div> <div id="protonmail_mobile_signature_block"><div></div></div> <div><br></div><div><br></div>On Tue, Aug 8, 2023 at 16:06, Stephen Travis Pope via Cuis-dev <<a class="" href="mailto:On Tue, Aug 8, 2023 at 16:06, Stephen Travis Pope via Cuis-dev <<a href=">cuis-dev@lists.cuis.st</a>> wrote:<blockquote type="cite" class="protonmail_quote">  <div><br></div>Hello all,<div><br></div><div>[Flame on]</div><div><br></div><div>It’s very sad that there’s no MVC implementation for Squeak or Cuis.</div><div><br></div><div>The “wrapper” implementation in VisualWorks is worth studying and copying.</div><div>It’s been stable for over 30 years and has survived numerous attempts to replace it.  </div><div>It’s well-suited for back-ends other than BitBLT (e.g., structured graphics APIs).</div><div>It supports scalable drag’n’drop GUI construction tools and easily extensible widgets and controls.</div><div>Wrapper is a more fine-grained class library for MVC, and includes framework classes such as ApplicationModel, PluggableAdaptor and ValueHolder to do what MVP seeks to add.</div><div><br></div><div>MVP is not MVC and cannot be said to "fix MVC flaws”; the MVP papers (based on the Taligent C++ version) refer to a 1980 version of MVC with no mention of the later VisualWorks frameworks.</div><div>Taligent, CommonPoint and Dolphin are all dead, VisualWorks is alive and well.</div><div><br></div><div><div>The “wrapper” implementation in VisualWorks is worth studying and copying.</div></div><div><br></div><div><div>[Flame off]</div></div><div><br></div><div>Stephen Pope</div><div><div>
<br 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);" class="Apple-interchange-newline"><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 src="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net" alt="pastedGraphic.tiff" src-original-pm-cid="proton-cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net"></span><font 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);" face="HelveticaNeue"><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 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;" face="HelveticaNeue"><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 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;" face="HelveticaNeue"><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 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;" face="HelveticaNeue"><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 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;" face="HelveticaNeue"><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 Aug 4, 2023, at 12:18 PM, Hilaire Fernandes via Cuis-dev <cuis-dev@lists.cuis.st> wrote:</div><div>


    

  <div><p>Hi folks, <br>
    </p><p>Cuis does not come with the legacy MVC framework. From what I
      read even the Smalltalk coming with MVC offers a revisited
      version, ok may be not the Squeak one. Nevertheless it does not
      really matter if you want to develop a GUI application with Cuis
      because all you need is to use the observer pattern and view
      enriched with control, both present in Cuis.<br>
    </p><p>Indeed, this pattern has seen since then alternate design. For
      DrGeo, I pick up a different pattern, MVP, back in 2005. According
      to its promoters, MVP fixes MVC flaws, you can read further about
      that on related articles below.</p><p>In a few word, with MVP, the model informs its views using the
      observer pattern, so the model does not know about its view, as in
      MVC. The views also handle the low level controls, then informs
      the Presenter to take action at the model level. This part is
      different than MVC and offer more flexibility.<br>
    </p><p>In DrGeo there are a lot of different Models: domain of the
      application, the math items, the smalltlak sketch, the script, the
      macro, etc. Most of them with dedicated Views of different nature
      to display, design, etc the models. Then a bunch of Presenters,
      with different level of complexity : domain application presenter,
      tools to manage the user interaction on the canvas and builder to
      manage the process of constructing a math item.</p><p>All in all, I don't see any reason Cuis can not be used to design
      a complex GUI application. I have reworked the DrGeo code and
      class categories to make it easier to understand the different
      levels of responsibility in the application. In repo but not
      released in app yet though.</p><p><a href="https://drive.google.com/file/d/1jWC7yLw8Q6sZeoq__m7K27vyOT8Dn55I/view?usp=sharing">Dolpin
        Smalltalk article about MVP,  </a><br>
    </p><p><a href="http://www.wildcrest.com/Potel/Portfolio/mvp.pdf">Article
        from the original designers of MVP</a></p><p>Wikipedia:
      <a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter" class="moz-txt-link-freetext">https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter</a></p><p>Hilaire<br>
    </p><p><br>
    </p>
  </div>

-- <br>Cuis-dev mailing list<br>Cuis-dev@lists.cuis.st<br>https://lists.cuis.st/mailman/listinfo/cuis-dev<br></div></blockquote></div><br></div></blockquote></body></html>