Em 20/12/2011 07:38, Fernando Olivero < [email protected] > escreveu: > Hi, a question to the VM maintainers. > Would it be hard to decouple the VM, one part handling the object > machinery, and the other the UI portion of the current OS. > The "UI Vm" would feed the VM with the events, similarly to the > current scheme, but there's no need for them to be coupled within > the same project. So we could implement separately the "UI Vm", > that its implemented in whatever windowed framework we choose ( > Cocoa, X11, Windows, etc..).
I think this is an idea which may have appeal for theoretic reasons and even if it is short to medium term feasible it will not have the impact it deserves. > In short, do you think it would worth it to break the VM into two > pieces: > 1)UI VM: handles the window, the drawing context were Pharo should > be drawn into, and announcing user events to the Smalltalk VM. > 2)Smalltalk VM: everything else (truly headless). > (The two OS processes could communicate via any available > IPC(interprocess communication)) It would add complexity, reduce performance without any obvious advantage for the final user... > Wouldn't it make easier the task of maintaining and enhancing both > VMs separately? No, because the problems to port for each platform would remain all there. Worse, if we need to create a new "upper level" abstraction in order to translate all the UI VM primitives to all the corresponding platform OSs. > This idea came up because of the current effort to free Pharo, from > the outdated bitmap dependency, into a vectorial user interface > framework. Which I see as distantly related issue which is not easily solvable by the proposal of this post. > Fernando pd: I've been playing around recently with Cocoa, the > "smalltalk and morphic" ripoff from apple. And found it relatively > easy to come with a "UI VM". What is difficult is to plug into the > current scheme. Yes, then imagine plug into the current scheme 'n' different UI VMs. . . > >
