Hi Seaside users,
Hi Seaside users,
What is nice with weekly digest is that you get a feel for the activity in Pharo (at least in its master branch) and on its core. Other activities often happen in separate projects (Spec2, Iceberg, …) and each of their commit contains a large set of improvements. Still these weekly digest are nice (especially since I was doing them manually in the past).
Today I released the v1 of a project I wanted to do since a long time:
The goal of the project is to easily access external resources stored in
the git repository of the project and other information.
For more infos check the Quick start or documentation present at:
When Monticello was the most common VCS usable with Pharo we stored a
lot of external resources in the image. Now we are able to store them
outside, get a lighter image and make it easier to edit and version them!
This can be useful to store test resources, CSS/JS files for web
applications, documentation, etc.
This can also be useful to get from the application some information
such as the current version of the application instead of hard-coding it
in a method to update at each release.
It implementation relies on Iceberg and the repositories registered in it.
I’m glad to announce the release of Moose v7.0.0.
I’ll explain the main changes since Moose 6.1 and what are the future
plans for Moose 8 in this mail.
* What changed?
In this version of Moose a lot of things changed from the meta model
management point of view. In Moose 6.1 we only had one big metamodel
build with inheritance to analyze all languages. This had a lot of
limits and a lot of work has been done to improve Moose on those weak
In Moose 7, you can now have multiple meta-models independant from
each others. This mean that we will now have one meta model by parser.
We can also create simple meta-models for test purpose. Also those MM
are build by composing stateful traits instead of using inheritance.
On top of that we now also have the possibility to use generators to
manage meta-models. Instead of writing every classes by hand, we can
describe a meta-model in a generator and use it to generate the MM.
Then we can use it to regenerate it also.
Pavel, who did most of the work, wrote some documentation you can find
There is still a lot of work to do to make it better but this will
come with Moose 8. The reason we release now is that in Moose 7 we
started to have split MM for Java, Pharo, and other languages, but we
still have a compatibility meta-model. The work needed to improve
Moose further will require to break the compatibility MM. Thus we are
releasing a stable version now with a compatibility MM and we will
work on a Moose 8 version where the compatibility MM will be removed.
* Workflow for bugfixes
Another change with Moose 6.1 is that now Moose is managed via Github.
This will allow use to do patches or minor releases in case the
community find bugs or need some new simple features in Moose 7 as
long as it only contains backward compatible changes.
* Plan for the next release
We already stated to work on Moose 8. We plan to work on multiple aspects:
– Improve the usability of the generator, especialy while regenerating MMs
– Update the Traits contained in Moose to build our MM. Currently,
they are a reproduction of what was in Moose 6.1 in order to get the
compatibility model. The goal is to remove all the hacks and get
– Start to build new tools to use the full power of this new version of Moose
– Fix bugs that will be discovered after such a big change
* How to get Moose 7
You can get Moose 7 in two ways. First is to install it in a Pharo 7 image:
The second is to get it via the Pharo Launcher. It now has a Moose 7
entry to get this version and a Moose 8 entry to get the development
We will also need to update Moose technology website.
Thank to Pavel Krivanek who did most of the work.
Thank also to:
– Benoit Verhaeghe
– Julien Delplanque
– George Ganea
– Christopher Fuhrman
– Stephane Ducasse
– Anne Etien
– Nicolas Anquetil
– Cyril Ferlicot
And any other I might have forgot who participated in the development
of Moose 7 🙂
I updated my MessageFlowBrowser today to work on Pharo 7 and 8, see attached screenshot
or youtube video on https://www.youtube.com/watch?v=DRd_bzGocQg
It now also works in Calypso and you just need to right click on a method in the method
pane or code pane and select “Message Flow” close to Senders, Implementors and other.
You can load the tool using
I also now moved repo from
to the new location
on GitHub for future development.
process := OSWSWinProcess new command: 'C:\Windows\notepad.exe'; run. ... process terminate.
OSWSWinProcess new command: 'C:\Windows\notepad.exe'; arguments: #('notepad.exe' 'C:\foo.txt'); runAndWait.