> -----Original Message----- > From: Scott Walters [mailto:[EMAIL PROTECTED] > Sent: Thursday, 15 April, 2004 03:27 PM > To: [EMAIL PROTECTED] Juerd > Cc: [EMAIL PROTECTED] > Subject: Re: backticks > > > Let me summerize my undestanding of this (if my bozo bit isn't already > irrevocably set): > > * %hash<<foo>> retains the features of P5 $hash{foo} but does > nothing to counter the damage of removal of barewords
Actually, it solves the "bare" words problem -- the << >> is a quoting syntax, so %hash<foo> is akin to %hash{'foo'}. As I understand Juerd, the objection is the number of finger movements required. For me, on a US-intl keymap with a decent keyboard, the guillemets are alt+[ and alt+] respectively, which is a pretty low cost. The high cost is the behavior of ' and " in the same keyboard mode, which act as composing characters. For this reason, I'm assuming that some clever windows hacker will provide a US-perl6 keyboard definition soon after p6 is available, if not sooner. (I'd do it myself, frankly, if I had the documentation for that stuff. :-( > * %hash`foo occupies an important nitch, trading features (slice, > autovivication) to optmize for the common case, undoing the pain of the loss of barewords, > serving as even a superior alternative It *would* occupy a niche, were it incorporated. Subjunctivity is still appropriate. > * %hash`foo and %hash ~ `ls` can coexist without breaking anything as this is currently > illegal, unused syntax Correct as I understand it, and certainly true in p5, per Matthijs. > * %hash`foo can be added by the user, but users are seldom aware of even a small fraction of > the things on CPAN and there is a sitgma against writing non-standard code Probably true. I'm frequently amazed with the things that are dredged up from CPAN. And I certainly don't download things from CPAN to change my syntax, so I can see where others wouldn't, either. OTOH, Juerd could do so, and could code all his code with it, and could "virally" infect everyone else by sending out scads of useful scripts, all of which required C<use HashTicks;>. > * %hash`s is an example of a small thing that would be easy to implement in core > but would be used constantly (if JavaScript is any indication, every few lines), > giving a lot of bang for the buck I disagree with this. I, for one, would never use it. (I don't object to its inclusion, since my preferred alternative would remain available: %hash{$foo} or %hash{'foo'}. But I don't like it visually, and I'm too used to ` as a quoting character to feel comfortable with this usage.) Also, this reminds me of the old namespace syntax: $package'var. I'm glad that's gone, too. > * Rather than eliciting public comment on %hash`foo (and indeed %hash<<foo>>) > the proposal is being rejected out of hand (incidentally, the mantra of the Java > community Process seems to be "you don't need X, you've got Y", > and it took .Net before they woke up and realized that maybe they should > consider their community in the community process - after ignoring a universal call for > generics for over 5 years it's little wonder .Net ate their cake) Actually, it seems to me that there has been public comment. Some names that I recognize have come out on both sides of the issue, indicating that within the current "established" p6l posters there is disagreement on the issue. Juerd & Matthijs have pointed out that the capability could be added with minimal impact on people (like myself) who don't want to use the feature. Simon has pointed out that (say it with me, everybody: 1 .. 2 .. 3 .. ) "It doesn't have to go in CORE!" So @Larry (of whom chromatic, a detractor, is one) or $Larry will make a determination of digital direction, directly, and the dilemma will be decided. (Sorry. :-) Your feelings about Sun's inability to run an open community notwithstanding, the p6l list appears to be working fine. People have said that many of my suggestions were stupid, too, but rejection is not the same as refusal to listen. =Austin > > -scott > > > > On 0, "[EMAIL PROTECTED] Juerd" <[EMAIL PROTECTED]> wrote: > > > > Aaron Sherman skribis 2004-04-15 14:29 (-0400): > > > On Wed, 2004-04-14 at 16:56, Juerd wrote: > > > > How many of those backticks > > > Note, those weren't backticks, those were programs. There were 123 > > > PROGRAMS that used backticks or equivalent syntax. > > > > I said backticks, and I meant backticks. I'm not sure why there is > > confusion over this. > > > > Perhaps this can disambiguate: how many of those backticks in those 123 > > programs. > > > > > > And how often are simple hash subscripts used? > > > Very often. > > > > Many times as often as qx and friends? > > > > > Security is not an issue for this code. > > > > It should be. > > > > > code review? You made and assertion: backticks aren't used much. That > > > assertion is faulty. > > > > I didn't formulate my statement carefully enough. I should have said: > > "as much as hash subscription". > > > > > Executing external code is commonplace, and probably done more often > > > than method invocation in the wild! > > > > I want to doubt that. Or better: help change that. > > > > > > It's just one keyword and a set of quotes more: $( readpipe "pwd" ) > > > And thus, it is not like the bash/zsh style syntax in the least. > > > > Why should Perl have to limit itself to shell-like syntax? It doesn't do > > that with if-constructs, foreach-loops, procedures, etcetera, etcetera, > > etcetera. > > > > > Unless there is substantially new information in this thread, I think > > > you have presented your case for yet another new subscripting syntax. > > > > I think I have presented two cases. The removal of `` and the > > introduction of %hash`key. Either can be implemented without breaking > > the other, though I obviously think both letting `` go and introducing > > the infix ` is better. > > > > > > Juerd