On Mon, 2003-09-08 at 21:09, Aredridel wrote: > > > If so, I'll add the patch to the PLD 1.8.0 RPM. > > > > Read over Chad's comments about a dozen posts ago. > > That's what I get for using a threaded reader. I reply, only to > discover a more recent post that tells me the answer to what I ask. > > > I share his concern, and I wouldn't be surprised if Matz > > did also. But IANYM. > > I agree. I rather liked _why's suggestion of extensible %_{} syntax, > but that is quite a large change. I'm not sure an extensible %_{} syntax will solve the basic problem. Suppose my library defines JimData to be %j{jim data goes here} and John wrote a library where %j{john data goes here}. Since defining %j{} seems to be a global decision, we would have two libraries that couldn't /ever/ be used in the same Ruby program. We have nice modules to keep our name spaces clean, and then we start using a name space with only 62 possibilities (I'm counting upper/lower case letters and digits). I think an extensible %_{} syntax could only fly if we were able to say "Over /this/ section of code, %j will mean JimData, and on /that/ section of code %j will mean JohnData. In other words, %_{} needs scoping rules. And I'm not convinced the value added by extensible %_{} is more than the added complexity. I suspect its easier to just say JimData.new %{...}. -- -- Jim Weirich jweirich / one.net http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)