On Thu, Dec 3, 2009 at 6:38 PM, David Green <david.gr...@telus.net> wrote: > I'm wondering whether we can make use of the contrary sense implied by the > word "but", and have it apply specifically to cases where something is being > overridden. In cases where there isn't something to override we could use a > different word, such as "with".
Don't restrict "but". Instead, I could see a "with" infix op that works like "but", but with the additional restriction that it cannot change existing behavior; conversely, "but" _can_ change existing behavior, but doesn't have to. So "with" becomes the safe version of run-time composition, guaranteeing that whatever you mix in won't disturb existing behavior, and "but" becomes the unsafe version that you can fall back on when you need to change said behavior. I do wonder, though, whether "with" should fail if it detects a conflict, or if it should silently resolve any such conflicts in favor of the pre-existing methods. I suppose you could allow for both, with the default being "fail on conflict" and an adverb being available to force it to quietly resolve the dispute. -- Jonathan "Dataweaver" Lang