Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-21 Thread François Perrad

Klaas-Jan Stol via RT wrote:

On Sun Dec 16 21:11:34 2007, coke wrote:

From PDD 19:

NOTE: The use of C:: in identifiers is deprecated.




what exactly does this mean?



In Lua, I started to replace (see r23367) :
[ 'Lua::io' ]
by
[ 'Lua'; 'io' ]

François


I take it that :: can still appear in typenames, as in PAST::Op, but
not, for instance like so:

.local int some::var

Is that it?









Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-21 Thread Allison Randal

Klaas-Jan Stol via RT wrote:

On Sun Dec 16 21:11:34 2007, coke wrote:

From PDD 19:

NOTE: The use of C:: in identifiers is deprecated.


what exactly does this mean?

I take it that :: can still appear in typenames, as in PAST::Op


Yes, that's still fine. In fact, any character that can be represented 
in any character set that Parrot supports is valid in string names.



but
not, for instance like so:

local int some::var

Is that it?


Yes, it's deprecated in bare identifiers. The '::' was added as a 
special case for Perl identifiers, so we either had to add special cases 
for all the languages, or just declare that if you want a sub, class, 
etc. with interesting characters you need to give it a string name.


The second option makes more sense, as the set of languages that run on 
Parrot is open-ended, and the bare identifiers aren't accessible to 
user-level code anyway.


Allison


Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-21 Thread Allison Randal

François Perrad wrote:


In Lua, I started to replace (see r23367) :
[ 'Lua::io' ]
by
[ 'Lua'; 'io' ]


Also a good change. This gains you the benefits of true hierarchical 
namespaces, and means that different languages that use different 
characters as class name separators can use your classes.


Allison


Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-21 Thread jerry gay
On Dec 21, 2007 8:50 AM, Klaas-Jan Stol [EMAIL PROTECTED] wrote:
 On Dec 21, 2007 3:53 PM, Allison Randal [EMAIL PROTECTED] wrote:

  Klaas-Jan Stol via RT wrote:
   On Sun Dec 16 21:11:34 2007, coke wrote:
   From PDD 19:
  
   NOTE: The use of C:: in identifiers is deprecated.
  
   what exactly does this mean?
  
   I take it that :: can still appear in typenames, as in PAST::Op
 
  Yes, that's still fine. In fact, any character that can be represented
  in any character set that Parrot supports is valid in string names.
 
   but
   not, for instance like so:
  
   local int some::var
  
   Is that it?
 
  Yes, it's deprecated in bare identifiers. The '::' was added as a
  special case for Perl identifiers, so we either had to add special cases
  for all the languages, or just declare that if you want a sub, class,
  etc. with interesting characters you need to give it a string name.


 there are some tests that explicitly use this feature; don't remember which
 ones, but I found some yesterday. I guess these tests can be removed (as
 their sole purpose is to test something that's going to be removed)

 so, shall I remove those tests?

yes, as long as that's what they're testing. that's a normal part of
deprecation.
~jerry


Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-21 Thread Klaas-Jan Stol
On Dec 21, 2007 3:53 PM, Allison Randal [EMAIL PROTECTED] wrote:

 Klaas-Jan Stol via RT wrote:
  On Sun Dec 16 21:11:34 2007, coke wrote:
  From PDD 19:
 
  NOTE: The use of C:: in identifiers is deprecated.
 
  what exactly does this mean?
 
  I take it that :: can still appear in typenames, as in PAST::Op

 Yes, that's still fine. In fact, any character that can be represented
 in any character set that Parrot supports is valid in string names.

  but
  not, for instance like so:
 
  local int some::var
 
  Is that it?

 Yes, it's deprecated in bare identifiers. The '::' was added as a
 special case for Perl identifiers, so we either had to add special cases
 for all the languages, or just declare that if you want a sub, class,
 etc. with interesting characters you need to give it a string name.


there are some tests that explicitly use this feature; don't remember which
ones, but I found some yesterday. I guess these tests can be removed (as
their sole purpose is to test something that's going to be removed)

so, shall I remove those tests?

kjs



 The second option makes more sense, as the set of languages that run on
 Parrot is open-ended, and the bare identifiers aren't accessible to
 user-level code anyway.

 Allison



[perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-20 Thread Klaas-Jan Stol via RT
On Sun Dec 16 21:11:34 2007, coke wrote:
 From PDD 19:
 
 NOTE: The use of C:: in identifiers is deprecated.
 


what exactly does this mean?

I take it that :: can still appear in typenames, as in PAST::Op, but
not, for instance like so:

.local int some::var

Is that it?


Re: [perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-20 Thread Will Coleda



--
Will Coke Coleda

On Dec 20, 2007, at 12:49 PM, Klaas-Jan Stol via RT [EMAIL PROTECTED] 
 wrote:



On Sun Dec 16 21:11:34 2007, coke wrote:

From PDD 19:

NOTE: The use of C:: in identifiers is deprecated.




what exactly does this mean?

I take it that :: can still appear in typenames, as in PAST::Op,  
but

not, for instance like so:

.local int some::var

Is that it?



I *think* so...

As the note says, this is from pdd19. I'd use svn blame to figure out  
who added it there and bounce it off them.


Thanks for investigating.


[perl #48735] [DEPRECATED] :: in PIR identifiers

2007-12-16 Thread via RT
# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #48735]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=48735 


From PDD 19:

NOTE: The use of C:: in identifiers is deprecated.

-- 
Will Coke Coleda