Two important issues...

Stephane Ducasse ducasse at iam.unibe.ch
Sat Feb 15 08:41:48 UTC 2003


Hi andrew

YES!

On Saturday, February 15, 2003, at 07:51 AM, Andrew P. Black wrote:

> Previous to this thread starting, I had raised another possibility 
> with Nathanael for the future of traits.
>
> Traits themselves are pretty easy to make available as a changeset, 
> for people to try out in their own image.  They don't require any VM 
> changes or even any changes to the compiler (although a small change 
> to support super directly would make traits more space-efficient).

Yes

>
> However, it is the traits browser that makes traits a usable and 
> attractive programming tool.  The browser relies on getting fast 
> information about the self-sends and super-sends of every method in 
> the class that is being browsed.  It isn't practical to re-parse the 
> source of each method to get this.   So one of Nathanael's major 
> enhancements was to add a cache for this information, in a compact 
> form, and to recompile the world once so that it quickly available for 
> all methods.
>
> My suggestion was to add this Method Information cache to core Squeak 
> as soon as we can.  The rest of the traits package could then be made 
> available to members of the community to play with in their regular 
> programming image, rather than in our "special" traits image.   The 
> method information cache also enables some other useful tools for 
> introspecting on code.  For example, I had some code that extracted 
> the interface from a class; this means excluding not only all of the 
> "self shouldNotImplement" methods, but also all of the methods that 
> call those methods, and so on recursively.  The method information 
> objects gave me the tools to do this efficiently.
>
> Putting the method information calls into the core doesn't directly 
> change anything: the current implementation of traits still a bit 
> buggy, and Nathanael is not keen on releasing anything that is not 
> perfect. Frankly, I think that the traits browser is already just as 
> usable as most of the other tools in Squeak, and the best way of 
> making it more robust is to release it and have others improve it. The 
> effect of the method information cache, however, is that the results 
> of buggy code can be cached and come back to haunt you weeks after the 
> bug has been fixed ... not always nice.
>
> Anyway, I though that it was worth discussing this compromise: if many 
> people would like to see it, and, more importantly, are willing to 
> work on the stability issues, then it could happen regardless of what 
> the folks in Bern do.

Exactly. For us we need to have a miniSmalltalk completely 
traits-based. but for that we have to rely on clean and stable 
component.


Prof. Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch) 
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do
  different? ... especially if, by doing something different, today
  might not be your last day on earth" Calvin&Hobbes




More information about the Squeak-dev mailing list