Traits?
Adrian Lienhard
adi at netstyle.ch
Wed Dec 14 23:37:51 UTC 2005
Hi all,
We have been working on the integration of the traits implementation
with current 3.9a. Now it's ready to be tested, played with, reviewed
etc.
There's a ready image at http://www.adrian-lienhard.ch/files/
Squeak3.9a-traits.zip.
For those who like to create this image themselves, here the
instructions (of course, this will later automatically work via the
update stream):
- get http://ftp.squeak.org/3.9alpha/Squeak3.9a-6705.zip (that's the
latest published 3.9a image)
- open Monticello, select the source.squeakfoundation.org/39a repository
- load from there ScriptLoader-al.55
- evaluate "ScriptLoader new updateFrom6705" (which will initiate the
traits bootstrap)
- Click "proceed" when asked "You are about to load new versions...",
same for "Behavior should not be redefined..."
- After this, the re-compilation of the image is done, which takes
quite some time... and that's it.
Note, there's no fancy traits browser as you might expect. What this
release is all about is the new class kernel enhanced to support
traits, and Monticello and tools have being adapted to properly work
with traits. The code browser has a new menu items to display the
definition template in order to create a new trait. In addition the
kernel includes an algorithm to efficiently calculate the required
methods of a class; this was implemented by Nathanael and integrated
by Daniel.
Daniel has also been working on new tools based on OmniBrowser. This
can be installed by loading the latest version of the package from
http://kilana.unibe.ch:8888/TraitsOmniBrowser (a prerequisite is
latest OmniBrowser from SM). Open the browsers by
"OBTraitStructureBrowser new open" and "OBTraitStructureBrowser new
open". However, I think, those tools need more work to be ready, and
is not subject to inclusion for now.
Here an overview for the people interested in looking at the code:
- There is a new Kernel package; almost all changes there are in the
category Kernel-Classes (Behavior, ClassDescription, ...)
- There is a new package named Traits. It includes all additional
classes and traits for the kernel (see Traits-Kernel) and also for
the requires algorithm mentioned above
- This package has a couple of extensions (tip: to look at them, use
MC's snapshot browser): most of those class extensions or overrides
should eventually be moved to the appropriate packages.
- There is a new version of the Tools package which contains the
adapted code browser
- Quite some changes have been made to Monticello to support saving
and loading of traits
- Tests can be found in category Traits-Tests
I encourage interested people to have a look soon and to bring up any
questions or concerns, so that we can avoid stalling the 3.9a process.
At this place, I'd like to thank all the people that have been
involved in this project in one or the other way. Special thanks to
Andrew, Daniel, Marcus, Nathanael and Stef.
Cheers,
Adrian
___________________
Adrian Lienhard
www.adrian-lienhard.ch
On Dec 3, 2005, at 21:28 , Cees De Groot wrote:
> Hi,
>
> Any news on traits? Anything else that we should be attending
> w.r.t. v3.9?
>
> Regards,
>
> Cees
More information about the Squeak-dev
mailing list
|