[Pharo-project] About Morph cleaning and new infrastructure
Hi guys Here is the summary of the discussion we got with mike today. In the context of the ESUG sponsored effort mike and john will work on making the - VM sleeping correctly, - using a semaphore do avoid event polling and all the rest related to that. - fixing the event handling. Now the point is that mike will not change Morph, just clean what is needed so that the event system and the polling gets cleaned. The idea is that Morph cannot be cleaned. In parallel mike has been working on ySqueak and in this context he worked on a new morphic model. Now we should learn from squeak and make sure that we have an infrastructure that allows one to plug difference UI frameworks (no "Smalltalk isMorphic" in the future). In addition we want to make sure: - that we can plug different UIFrameworks (Miro, Morphic30, YSqueak or something else) - kernel class do not depend on UI. So mike based on his sophie experience designed a new event model based on Announcement which support well multiple input devices, different platform key, different windowing bindings for future native support. So the idea is the following: - let make Morphic smaller and cleaner but acknowledge that Morphic is not the long term future. - mike will produce a new event model, that the other UI frameworks could use and extend. He will ask fro feedback. - Agree that we use announcement as an infrastructural foundation. - make sure (with your help and feedback) that we can plug another UI framework (in particular in the event loop handler should support a registration mechanism. - It would be nice to see how miro can use the new event model and be plug in pharo as well as the ySqueak new model. I would like to lower the frustration of people. The point is not to chose a framework against another one but to make sure that we can load and plug different frameworks. So please comment. Stef
Hi Stef, This is exciting news. I think the VM sleeping feature is important because this is something we do but by suspending/resuming the VM process from the outside (else with hundreds of images the idle CPU usage kills ressources). So this is something that also Seaside servers will profit from. Those changes will require work on the VM and in the image, I suspect. Will this be shared with Squeak? Cheers, Adrian On Jul 3, 2008, at 19:51 , Stéphane Ducasse wrote:
Hi guys
Here is the summary of the discussion we got with mike today.
In the context of the ESUG sponsored effort mike and john will work on making the - VM sleeping correctly, - using a semaphore do avoid event polling and all the rest related to that. - fixing the event handling.
Now the point is that mike will not change Morph, just clean what is needed so that the event system and the polling gets cleaned. The idea is that Morph cannot be cleaned.
In parallel mike has been working on ySqueak and in this context he worked on a new morphic model.
Now we should learn from squeak and make sure that we have an infrastructure that allows one to plug difference UI frameworks (no "Smalltalk isMorphic" in the future). In addition we want to make sure: - that we can plug different UIFrameworks (Miro, Morphic30, YSqueak or something else) - kernel class do not depend on UI.
So mike based on his sophie experience designed a new event model based on Announcement which support well multiple input devices, different platform key, different windowing bindings for future native support.
So the idea is the following: - let make Morphic smaller and cleaner but acknowledge that Morphic is not the long term future. - mike will produce a new event model, that the other UI frameworks could use and extend. He will ask fro feedback. - Agree that we use announcement as an infrastructural foundation. - make sure (with your help and feedback) that we can plug another UI framework (in particular in the event loop handler should support a registration mechanism. - It would be nice to see how miro can use the new event model and be plug in pharo as well as the ySqueak new model.
I would like to lower the frustration of people. The point is not to chose a framework against another one but to make sure that we can load and plug different frameworks.
So please comment.
Stef
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi adrian
Hi Stef,
This is exciting news.
I think the VM sleeping feature is important because this is something we do but by suspending/resuming the VM process from the outside (else with hundreds of images the idle CPU usage kills ressources). So this is something that also Seaside servers will profit from.
We know :) This is also why ESUG is supporting this work :)
Those changes will require work on the VM and in the image, I suspect. Will this be shared with Squeak?
Yes. This is the idea! We do not want to hear that ESUG is only taking care of Pharo. So some idiots say that in the future smashed them. I start to be fed up by idiots :). Then we will merge the fixes in Pharo. And people may want to do the same for they own fork. Stef
On Thu, Jul 3, 2008 at 7:51 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Now we should learn from squeak and make sure that we have an infrastructure that allows one to plug difference UI frameworks (no "Smalltalk isMorphic" in the future). In addition we want to make sure: - that we can plug different UIFrameworks (Miro, Morphic30, YSqueak or something else)
It seems to me this is part of what Newspeak is doing already. -- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu)
We can't be all that wrong :) Stef
Now we should learn from squeak and make sure that we have an infrastructure that allows one to plug difference UI frameworks (no "Smalltalk isMorphic" in the future). In addition we want to make sure: - that we can plug different UIFrameworks (Miro, Morphic30, YSqueak or something else)
It seems to me this is part of what Newspeak is doing already.
+1 for registerable frameworks... hopefully not mutually exclusive "window-to-window" (think, one "window" being Ffenestri, another Morphic, another Morphic 3.0...). Gary
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr]On Behalf Of Stephane Ducasse Sent: 03 July 2008 6:52 PM To: An open mailing list to discuss any topics related to an open-sourceSmalltalk Subject: [Pharo-project] About Morph cleaning and new infrastructure
Hi guys
Here is the summary of the discussion we got with mike today.
In the context of the ESUG sponsored effort mike and john will work on making the - VM sleeping correctly, - using a semaphore do avoid event polling and all the rest related to that. - fixing the event handling.
Now the point is that mike will not change Morph, just clean what is needed so that the event system and the polling gets cleaned. The idea is that Morph cannot be cleaned.
In parallel mike has been working on ySqueak and in this context he worked on a new morphic model.
Now we should learn from squeak and make sure that we have an infrastructure that allows one to plug difference UI frameworks (no "Smalltalk isMorphic" in the future). In addition we want to make sure: - that we can plug different UIFrameworks (Miro, Morphic30, YSqueak or something else) - kernel class do not depend on UI.
So mike based on his sophie experience designed a new event model based on Announcement which support well multiple input devices, different platform key, different windowing bindings for future native support.
So the idea is the following: - let make Morphic smaller and cleaner but acknowledge that Morphic is not the long term future. - mike will produce a new event model, that the other UI frameworks could use and extend. He will ask fro feedback. - Agree that we use announcement as an infrastructural foundation. - make sure (with your help and feedback) that we can plug another UI framework (in particular in the event loop handler should support a registration mechanism. - It would be nice to see how miro can use the new event model and be plug in pharo as well as the ySqueak new model.
I would like to lower the frustration of people. The point is not to chose a framework against another one but to make sure that we can load and plug different frameworks.
So please comment.
Stef
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (4)
-
Adrian Lienhard -
Damien Cassou -
Gary Chambers -
Stéphane Ducasse