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)