[Vm-dev] Removing most of the windowing code

Ben Coman btc at openinworld.com
Tue Nov 29 19:08:33 UTC 2016


On Wed, Nov 30, 2016 at 1:49 AM, Igor Stasenko <siguctua at gmail.com> wrote:
>
>
>
> On 29 November 2016 at 19:42, Igor Stasenko <siguctua at gmail.com> wrote:
>>
>>
>>
>> On 29 November 2016 at 19:30, Ronie Salgado <roniesalg at gmail.com> wrote:
>>>
>>>
>>>>
>>>> well, the problem is that we're in a bit more difficult situation that Lua.. in Lua there's no processes/contexts..
>>>> and if we would want implement an external message send i.e.  send message - get result, things not so straightforward as in Lua.
>>>> it's all because it was never designed to be run in a host environment and be open from that end.
>>>> that's why it is much easier to implement FFI, that C -> smalltalk API.

okay. thanks for the insight.

>>>
>>> Currently, I am going to focus on making a standard interface for initializing the VM, loading the image, passing the command line arguments, running the interpreter and shutting down. This seems easy to do, and it allows me to unify the platform specific versions of the VM.
>>>
>>> For more complicated stuffs such as calling Smalltalk from C, or a standard interface for defining primitives in C( for doing things such as moving unessential VM plugins outside of the main VM source code tree). We should have a proper discussion on the mailing list.
>>>
>>> My priority with removing the windowing code is getting OSWindow working well in Windows. Currently it is having conflicts with the main loop provided by the VM, which makes it unusable.
>>>
>> right, this main loop concept is a first thing, that goes in a conflict with host application, that wants to control what it wants to run or not and when.
>>
>
> that's why, for instance i was pursuing the idea of implementing process scheduling in a language itself, leaving very small part of required logic on VM side
> - mostly stripping a logic that switches process(es) to specially registered 'interrupt' process, when signal from semaphore arrived, while leaving the rest of logic on hands
> of image-side implementation.

Would it make sense to mix that in with DelayScheduler running at
priority 80?  Use the same Semaphore that is already signalled from
the VM.

cheers -ben


More information about the Vm-dev mailing list