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

rabbit rabbit at callistohouse.org
Wed Mar 1 00:49:28 UTC 2023


—
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:25, Stephen Travis Pope <stephen at heaveneverywhere.com> wrote:

> Great issues!

I’m smiling. Anticipations of the sculpting of +7.0 Wonderous Items. So very rare, the leather squeaks! Feels so good!

> The important thing about the dependency mechanism is that it’s all within the same thread;

Do you mean each native thread or a Squeak green thread (Process)?

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.

> 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).

#update: could be sent eventually.

> 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.

This is the dictionary used in the actionSequenceMap.

🐰

> 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
> [pastedGraphic.tiff]
> 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> wrote:
>>
>>> Hi. I’d humbly suggest…
>>>
>>> On Tue, Feb 28, 2023 at 15:36, Stephen Travis Pope <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/20230301/1a0511b1/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/20230301/1a0511b1/attachment.tiff>


More information about the Squeak-dev mailing list