RE: [PHP-DEV] Re: Unsigned Problems Revisited
-Original Message- From: Andi Gutmans [mailto:andi;zend.com] Sent: 30 October 2002 19:26 I think you guys have convinced me that having only isn't too bad (Jason will kill me now). Does anyone here on php-dev have any additional thoughts? Well, although I think it's a good idea to add the missing shift operator, I'd be a bit worried about the potential for confusion caused by having and operators that are not opposites of each other -- particularly with people trying to use as a shift on the grounds that it ought to exist and wondering why the rest of their script had apparently disappeared down a black hole! Whilst I don't want to start another lengthy discussion that ends up going round the mulberry bush umpteen times, should we be considering whether this is a case where PHP should strike out on its own and use a slightly different operator for this? Cheers! Mike - Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
I think you guys have convinced me that having only isn't too bad (Jason will kill me now). Does anyone here on php-dev have any additional thoughts? I just want to point out that what convinced me wasn't the anyone who knows twos complement would know that blah blah blah argument. Don't forget that most of our PHP users aren't always that knowledgeable and we need to understand and respect that. Anyway, I just wanted to say that because I often get the feeling that people on php-dev forget that it's usually the more computer science oriented people on this list which isn't necessarily the average PHP user. Andi At 11:39 AM 10/29/2002 -0600, Jason T. Greene wrote: On Thu, 2002-10-24 at 09:51, David M. Lloyd wrote: On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Alpha has 3 instructions as well (log left, log right, arith right) Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. I have to say I agree, introducing a bogus operator could actually cause confusion. Java, which has been used several times in past arguments of why we should not do XYZ, has not had a problem with having only the operators that actually exist. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Clashing can occur with Constant values, and functions with a \n in front of the (). Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . I agree - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php -Jason -- Jason T. Greene [EMAIL PROTECTED] [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DEV] Re: Unsigned Problems Revisited
We're going to walk into a confusion where people will expect to work too, and get bitten. We have to be really careful that we explain it properly. -- james I think you guys have convinced me that having only isn't too bad (Jason will kill me now). Does anyone here on php-dev have any additional thoughts? I just want to point out that what convinced me wasn't the anyone who knows twos complement would know that blah blah blah argument. Don't forget that most of our PHP users aren't always that knowledgeable and we need to understand and respect that. Anyway, I just wanted to say that because I often get the feeling that people on php-dev forget that it's usually the more computer science oriented people on this list which isn't necessarily the average PHP user. Andi At 11:39 AM 10/29/2002 -0600, Jason T. Greene wrote: On Thu, 2002-10-24 at 09:51, David M. Lloyd wrote: On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Alpha has 3 instructions as well (log left, log right, arith right) Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. I have to say I agree, introducing a bogus operator could actually cause confusion. Java, which has been used several times in past arguments of why we should not do XYZ, has not had a problem with having only the operators that actually exist. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Clashing can occur with Constant values, and functions with a \n in front of the (). Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . I agree - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php -Jason -- Jason T. Greene [EMAIL PROTECTED] [EMAIL PROTECTED] -- PHP Development Mailing List
RE: [PHP-DEV] Re: Unsigned Problems Revisited
At 08:05 PM 10/30/2002 +, James Cox wrote: We're going to walk into a confusion where people will expect to work too, and get bitten. We have to be really careful that we explain it properly. That was my initial worry too. Andi -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
On Wed, 2002-10-30 at 13:26, Andi Gutmans wrote: I think you guys have convinced me that having only isn't too bad Great, I really think this is the way to go! (Jason will kill me now) /me kills Andi Just kidding, I am just glad we can come to an agreement, so I can start working on a patch. Does anyone here on php-dev have any additional thoughts? I just want to point out that what convinced me wasn't the anyone who knows twos complement would know that blah blah blah argument. Don't forget that most of our PHP users aren't always that knowledgeable and we need to understand and respect that. Anyway, I just wanted to say that because I often get the feeling that people on php-dev forget that it's usually the more computer science oriented people on this list which isn't necessarily the average PHP user. I will keep that in mind. Thanks, -Jason Andi At 11:39 AM 10/29/2002 -0600, Jason T. Greene wrote: On Thu, 2002-10-24 at 09:51, David M. Lloyd wrote: On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Alpha has 3 instructions as well (log left, log right, arith right) Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. I have to say I agree, introducing a bogus operator could actually cause confusion. Java, which has been used several times in past arguments of why we should not do XYZ, has not had a problem with having only the operators that actually exist. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Clashing can occur with Constant values, and functions with a \n in front of the (). Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . I agree - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php -Jason -- Jason T. Greene [EMAIL PROTECTED]
RE: [PHP-DEV] Re: Unsigned Problems Revisited
Ok, I hereby volunteer to update the documentation to clearly explain shifting (with examples). -Jason On Wed, 2002-10-30 at 14:05, James Cox wrote: We're going to walk into a confusion where people will expect to work too, and get bitten. We have to be really careful that we explain it properly. -- james I think you guys have convinced me that having only isn't too bad (Jason will kill me now). Does anyone here on php-dev have any additional thoughts? I just want to point out that what convinced me wasn't the anyone who knows twos complement would know that blah blah blah argument. Don't forget that most of our PHP users aren't always that knowledgeable and we need to understand and respect that. Anyway, I just wanted to say that because I often get the feeling that people on php-dev forget that it's usually the more computer science oriented people on this list which isn't necessarily the average PHP user. Andi At 11:39 AM 10/29/2002 -0600, Jason T. Greene wrote: On Thu, 2002-10-24 at 09:51, David M. Lloyd wrote: On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Alpha has 3 instructions as well (log left, log right, arith right) Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. I have to say I agree, introducing a bogus operator could actually cause confusion. Java, which has been used several times in past arguments of why we should not do XYZ, has not had a problem with having only the operators that actually exist. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Clashing can occur with Constant values, and functions with a \n in front of the (). Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . I agree - D
RE: [PHP-DEV] Re: Unsigned Problems Revisited
Jason T. Greene writes: Ok, I hereby volunteer to update the documentation to clearly explain shifting (with examples). Excellent! That way, I can't stop losing sleep wondering what the heck someone would need this stuff for. :) Best Regards Mike Robinson -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
On Thu, 2002-10-24 at 09:51, David M. Lloyd wrote: On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Alpha has 3 instructions as well (log left, log right, arith right) Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. I have to say I agree, introducing a bogus operator could actually cause confusion. Java, which has been used several times in past arguments of why we should not do XYZ, has not had a problem with having only the operators that actually exist. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Clashing can occur with Constant values, and functions with a \n in front of the (). Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . I agree - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php -Jason -- Jason T. Greene [EMAIL PROTECTED] [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
On Thu, 24 Oct 2002, Andi Gutmans wrote: At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Generally no, it's a waste of opcode space for modern CISC processors. RISC processors often have integrated barrel-shifters, so they don't need shift instructions at all. Intel carries over arithmetic shift right instructions from older architetures for backwards-compatibility with x86, but their RISC implementation (Itanium) does not contain support for the operation. One RISC example is ARM. They give you four shift options: Logical left, logical right, arithmetic right, and rotate right. Making the operation symmetrical is a waste of precious bit combinations, and would have meant either losing another shift operation or else adding another bit to the shift operation specifier, which means that another bit would have to be sacrificed elsewhere. Another example is SPARC, which implements shifting with discrete instructions, only implents one left shift operator. PowerPC does not implement it either. Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Better why? Anyone who understands twos-complement will understand (and expect) the ability to do those three operations, and will not be surprised by the lack of two left shifts. I argue that they *should NOT* be symmetrical because it is wrong. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? It is true though, unless you can give me a sound mathematical reason that the ops should exist... and saying it looks right or it is easier is not a valid reason, becuase to those with even basic twos-complement math background, it looks wrong and is not easier. As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Very well... then let's not put in the nonsense operator, and just have three shift operations: , , and . - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
On Tue, 22 Oct 2002, Andi Gutmans wrote: Jason knows that my stand on this one is that if we have we really should also have which will clash with here-docs. Suggestions for other operators such as his are a possibility. Wrong on two counts. The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. - D [EMAIL PROTECTED] -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: Unsigned Problems Revisited
At 02:49 PM 10/23/2002 -0500, David M. Lloyd wrote: On Tue, 22 Oct 2002, Andi Gutmans wrote: Jason knows that my stand on this one is that if we have we really should also have which will clash with here-docs. Suggestions for other operators such as his are a possibility. Wrong on two counts. The reality of twos-complement, bitwise arithmatic is that there are three basic shift operations: shift left, bitwise shift right, and arithmetic shift right. This simple fact is one of the basic ideas of dealing with twos-complement integers. I know that but I still wanted the opposite to be available to keep things symmetrical. I'm not sure but I think CPU's do support both logical and arithmetic shifts and just do the same with both (I might be wrong though). Given this fact, there is no reason to have a bogus fourth operator in the name of symmetry. Mathematical operaters are simply not always symmetrical. There is no such thing as 'arithmetic shift left' or 'logical shift left' in terms of twos-complement integers, so why invent it? I agree that they don't *have* to be symmetrical but I think it's better. Second of all, my understanding of the here-doc operator is that it acts as a unary operation. I don't see the conflict with the binary application of , given the example of unary and binary -, if it is absolutely neccessary to fulfill the (somewhat psychotic) need for symmetry where it is not realy needed, or even strictly correct. psychotic? Can we please have discussions on a professional and not personal level? As far as I remember it does clash with here-docs. I'm pretty sure I thought of an example a while back. I can try and think of one again. In any case, I wouldn't want an overloaded operator. We try and keep away of that kind of stuff with PHP. Andi -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit: http://www.php.net/unsub.php