- The requires algorithm is not directly related to Traits (as I pointed out in a recent mail)
That's cool, but why is it there?
I can reply to you on that one :) Some historical background first. Nathanael (who was hesitating to go to work with andreas - since andreas was really interested to have traits to build user interface for kids - I remember them drawing picture on the board of nathanael and marcus office) implemented a Browser that showed instantaneously where you would need to provide a method because of a trait composition. This was difficult because of the quality of Squeak library (containing a lot of self send to method not existing in Object), the bad state of the browser and because the system is dynamic (you can add a method anytime anywhere). This is explained in depth in his PhD. Nathanael was wise and declined the offer to go to google. I'm sure that he does not feel insulted by certain statement because a lot of languages would like to have traits or introduce them instead of bashing them: Scala, Perl, Fortress... we even got a guy of MS that asked us to apply to get a grant to port trait to C# (boring with types). Nathanael did a first implementation of traits that was driven by tape to fix a lot of places which were suboptimal. Then Adrian reimplemented the core as part of his master thesis. The idea was that Squeak deserved a good trait implementation if we wanted to get a chance to build on them. The state of the Squeak browser was getting in our way (no tree widgets at that time still not today). OB was not an alternative - no tree widgets. So adrian did not get the time and will to fix the Squeak UI lib and build a browser. Now this is just fun to see how some people have the tendency to insult others because I think that adrian is - a really smart guy (got several awards for his work) - talented (run his own company since years in parallel to do research) I mean a real company that is not sponsored but live with the money it collects. Then practically during the last two years, we clean a ***lot*** of problem. Now squeak is starting to clean. Mainly also because nicolas is pushing a lot of fixes from pharo to squeak. And we go at our little speed but we go steadily and we will continue. I imagine that this gives an historical view to the question and I thanks you because we will probably clean it. Stef