Hi,
I totally agree with you Stephane. I faced the same problems when making MetaclassTalk. The classbuilder is not clean at all. And in many kernel classes, one can find methods with hundreds of lines and hardwirings. This make any experiments with core Squeak classes heavy...
Note: My intent is not to blame people who wrote the code, but to make Squeak become better...
Noury
Stephane Ducasse a écrit:
Hi all,
I'm one of the lucky guys working with nathanael here and I can tell you what is really needed for traits :
- a clean classBuilder (we may do that) - a real clean ***from scratch*** browser that we could use (and not
patching again this BAD browser) - a real scanner/parser/AST that is not buggy.
Don't think that I'm too strong, I'm just right. I tried to build a pretty printer with Squeak, nathanael patched everywhere Squeak and now we are at the limits.
We are about to decide in which dialect we will develop the next generation of Traits/Modules/....This would be great to build that on top of Squeak but sometimes the quality of certain parts is really getting into our way/nerves.... So the way to go is to use Smacc and RB parseTree.
May be we should look at the ClassBuilder form VW and replace the one in Squeak. And we should definitively throw away the browser.
Stef
So if you are interested to participate contact nathanael.
On Tuesday, February 4, 2003, at 07:22 PM, Nathanael Schärli wrote:
In section 11 of the Tutorial you talk about displaying a tree structure for deeply nested sub-traits. Since traits can be "flattened" conceptually, couldn't you avoid the tree structure?
Well, it is true that traits can always be flattened and therefore you don't need such a tree view in order to understand the code. However, sometimes it is very useful to look at the code in a "compositional view"
Let's say you are browsing the class ColoredCircle. By default, the browser shows it in a flat way and you don't need to worry whether it is built by using traits at all. However, the browser should indicate, that this class is actually built from traits and it should allow you to see more details by clicking on something like the (+) icon of the tree widget. Then, you can see all the traits (e.g., TCircle, TColor) the class uses. In order to be consistent, the browser should now also indicate, that the trait TCircle is built as a composition of multiple traits. Then, the user can, if he wants, again click on the (+) icon of the widget and see the details (i.e., traits TMagnitude and TGeometry). Etc.
The current browser only shows one nesting level. This means that for the class ColoredCircle, you see the traits TCircle and TColor. If you want to see more, you need to go to the definition of these subtraits.
This means that there is a "compositional view", but its depth is limited to 2. I think it should be unlimited...
Nathanael
-----Original Message----- From: squeak-dev-bounces@lists.squeakfoundation.org [mailto:squeak-dev-bounces@lists.squeakfoundation.org] On Behalf Of Doug Mair Sent: Dienstag, 4. Februar 2003 19:04 To: The general-purpose Squeak developers list Subject: Re: Traits prototype image
Very impressive work.
In section 11 of the Tutorial you talk about displaying a tree structure for deeply nested sub-traits. Since traits can be "flattened" conceptually, couldn't you avoid the tree structure?
----- Original Message ----- From: "Nathanael Schärli" n.schaerli@gmx.net To: squeak-dev@lists.squeakfoundation.org Sent: Tuesday, February 04, 2003 8:37 AM Subject: Traits prototype image
Hi
I finally released a first version of our trait prototype
image. More
information can be found at:
~schaerli/smalltalk/traits/traitsPrototype.htm
There, you can also read more about our future plans and
why there is
no changeset available yet.
Cheers, Nathanael
Prof. Dr. Stéphane DUCASSE (ducasse@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