Re: [perl #48735] [DEPRECATED] :: in PIR identifiers
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
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
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
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
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
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
-- 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
# 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