Instead of a block, your Process would perform an instance method like #run upon exec, while forking would just mean instantiating Process (and populating shared objetcs as ivars) ? Very much like Threads in other languages (Boost, Qt, etc...)... I find forking a block very light weight and powerfull, so your proposition effectively helps mainly for naming and classifying things (sic - I mean organizing). Note that almost all cases will be singleton. Maybe some isKindOf: will be required in the VM, did you check? Nicolas 2012/5/16 Guillermo Polito <guillermopolito@gmail.com>:
I'm playing with the process initialization for the bootstrap, and some things come to my mind.
There are some classes that startup processes on the class side initialize, like
WeakArray -> Finalization process Delay -> Timer event loop
What it is not clear to me is if those processes should be installed when the class is initialized, or when it is startupped for the first time. Also, I can't stop thinking that the processes in the image are all spread and not clear. If I want to know where the processes are defined, it's kind of a mess.
Is having specialized objects for our processes undesired by some reason I can't see? I'd like to have objects like
MorphicUIProcess FinalizationProcess TimeEventProcess ... and so on
Guille