On 7/21/05 8:14 PM, Larry Wall wrote: > On Thu, Jul 21, 2005 at 03:25:17PM -0400, John Siracusa wrote: >> The only thing I immediately don't like is the use of the normal identifier >> character "_" to indicate the "specialness" of a particular variable (or >> attribute or whatever we're calling them these days). IMO, a "_" should >> just be a "_" no matter where it occurs. Making a leading "_" mean >> something special (triggering a slew of new semantics) in a particular >> context seems a bit hacky to me. >> >> Damian may not like the colon, but I couldn't help thinking that the "_" >> could be replaced with ":" and things would be cleaner. > > Well, but the _ really is part of the name, insofar as it's trying to > isolate the namespace. Even with : we had to say that it would probably > be stored in the symbol table with the leading colon.
Eh, an implementation detail (or, arguably, syntactic sugar for symbol table lookups, depending on how it was "really" implemented in Parrot). > Plus history is on the side of leading _ meaning "private implementation > detail" Sure, by *convention*, not as imperative magic :) > and the : is awfully confusing in the neighborhood of adverb pairs. If it > were just sigiled variables, the : would probably be fine, but > > method :foo() {...} > > just has a strangeness to it that won't go away. Arguably that's a feature, > but I'm mostly worried with visual confusion with all the other colons > in Perl 6. I'm not married to the colon. Speaking of traits and adverbs, why not use one of those in the "has" declaration instead? That'd certainly be a lot more explicit than the magic leading underscore (although I'm at a loss as to what the trait would be named...) -John