> I think the core of Ed's complaint was that symbols quote themselves > implicitly, rather than requiring an explicit \, which leads to code > that reads inconsistently. Worse than this, it means that the > behaviour of code can change when a new vocab is USEd, because tuple > class symbols push themselves up until a word is defined with the > same name. > > A more general version of this problem is: Should adding a vocab to > your USING statement (or a change in a USEd vocab) ever change the > behaviour of your program?
I agree that it shouldn't. A similar problem comes up when lines of code are coupled together, like when you have a TUPLE: class and you suddenly make a new word that shadows this -- it's bad design to have to edit all the places where you haven't already escaped this word. Touching one line of code and having to edit ten places that depended on that line is one thing Factor tries to avoid. Factor's GENERIC: words are a good example -- you don't have to edit the file that defines the GENERIC:, just add a method. Code that is coupled to other code is bad. Doug ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk