On Jan 23, 2013, at 4:56 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 23 January 2013 16:40, Esteban Lorenzano <estebanlm@gmail.com> wrote:
Hi,
Maybe this was talked before, and everybody knows what I'm going to say, but I want to talk about one of the issues we are tackling for 2.0 release: The VM and its Plugins.
Of course you all know that at least for now (and the next couple of years, he), we use Eliot's Cog for running Pharo. But probably some of you don't know that we actually make some changes to the VM in order to make it suitable for Pharo. This changes are sometimes incorporated to the regular VM, but some others not. So, part of our work is to keep the sources in sync with Eliot's trunk and introduce our "things" in it. What are those things? Well, a small list:
- the adaptation of interpreter to run NativeBoost - external semaphores enhancement to grow easily over 250. - ephemerons support.
in the plugins area, this year we improved some of the existing ones: - FilePlugin, now can retrieve file permissions and knows if file is a symlink - SerialPlugin, now works in Macs (it was never implemented)
you forgot:
- OSProcess (VMs should include it default, so then we can use it instead of writing bash scripts) yup
- Freetype (this is already default)
yup
- .. and bundling Cairo library
afaik, thats for 3.0 :)
in addition, we are supporting the Cocoa VM for Mac (the Cocoa framework for Mac is the Objective-C replacement for Carbon, the old and legacy UI framework), and thanks to Mariano and Square[i] now we have headless support for macs (we are just missing complete headless support for windows, now).
So, for Pharo 2.0 now we are working on this twi issues:
- Stability! We need a stable VM, and as I already said it, we still have some problems there. - Improve the build process, to make it easier. - Branding. We need a VM that says "Pharo" and not "Cog" or "Squeak"... why? just because we make Pharo :) also, if we improve this process, then ppl doing desktop applications can reproduce it with their own branding (I suppose if you do a Mac or Windows app, you want your icon in the dock bar, not a pharo, or a cog, or a mouse... and in mac is trivial to adapt, but in windows is complicated :)
Pharo 2.0 will be released with a stable, branded vm with a bunch of useful plugins and libraries (like freetype) and out-of-the-box support for NativeBoost.
For Pharo 3.0 we are even more ambitious: we want to start replacing some important parts of the vm with plugins (like extract a "DisplayPlugin", so we can control from image side the initialization of a morphic world or something extra. And we want to replace BitBlt plugin with Athens, so that will keep us busy enough time.
sounds like a lot of work for me :)
yes it is... well... we'll see :)
Cheers, Esteban
-- Best regards, Igor Stasenko.