[squeak-dev] Replacing or enhancing or supplementing Morphic (was: How do I "sleep 5"?)

Stephen Travis Pope stephen at heaveneverywhere.com
Tue Feb 28 21:25:17 UTC 2023


Great issues!

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.

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.

The MVC framework extended all the way up to the top-level views, where it’s convenient to have separate views and controllers.

stp

--------

Stephen Travis Pope    Ojai, California, USA
    
     http://HeavenEverywhere.com
     http://FASTLabInc.com
     https://vimeo.com/user19434036/videos
     http://heaveneverywhere.com/Reflections



> On Feb 28, 2023, at 1:14 PM, rabbit <rabbit at callistohouse.org> wrote:
> 
> 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.
> 
>> Have a good one; keep it, light.
> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
> 
> Sent from Callisto House mobile - Ganymede
> :: decentralized mobile homeless solutions ::
> 
> 
> 
> 
> On Tue, Feb 28, 2023 at 16:02, rabbit <rabbit at callistohouse.org <mailto:rabbit at callistohouse.org>> wrote:
>> 
>> Hi. I’d humbly suggest…
>> 
>> On Tue, Feb 28, 2023 at 15:36, Stephen Travis Pope <stephen at heaveneverywhere.com <mailto:stephen at heaveneverywhere.com>> wrote
>> 
>>> 3: the thread-unsafe nature of Morphic, and
>> Load ‘ESqueak.release.1’ and make the UI thread run in a Vat. Use eventual sending, not with math, but MVC component level.
>>> 4: Morphic isn’t MVC and doesn’t use the dependency mechanism for updating, leading to poor scalability and multiple viewing.
>> I could easily add these for dependencies to be thread safe.
>> Object>>#ewhen: anEventSelector send: aMessageSelector to: anObject
>> self when: anEventSelector evaluate: (EventualMessageSend receiver: anObject selector: aMessageSelector)
>> Object>>#ewhen: anEventSelector send: aMessageSelector to: anObject with: anArg
>> self when: anEventSelector evaluate: (EventualMessageSend receiver: anObject selector: aMessageSelector argument: anArg)
>> 
>> Object>>#ewhen: anEventSelector send: aMessageSelector to: anObject withArguments: anArgArray
>> self when: anEventSelector evaluate: (EventualMessageSend receiver: anObject selector: aMessageSelector arguments: anArgArray)
>> Cheers!
>> 
>>>> Have a good one; keep it, light.
>> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
>> 
>> Sent from Callisto House mobile - Ganymede
>> • decentralized mobile homeless solutions
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230228/2f2a42c0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 2442 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230228/2f2a42c0/attachment.tiff>


More information about the Squeak-dev mailing list