4 ms·
It's likely to distinguish it from XOR, which is the carat operator in many programming languages.
by Sidnicious 12y ago
It's likely to distinguish it from XOR, which is the carat operator in many programming languages.
- kevin_thibedeau 12y agoIt is still weird. * * is the other established convention used for exponentiation in languages like Python, Ada, m4, and others.
- merraksh 12y agoBut * * has an entirely different meaning in C/C++.
- taejo 12y agoOnly as a prefix operator; * has a pointer-related meaning for prefix and an arithmetic meaning for infix, there's no reason * * shouldn't be the same.
- phs2501 12y agoThat'd be a syntactic ambiguity (in C-type languages) between "a * * b" being a to the power of b (i.e. "(a) * * (b)") or "a * * b" being a times the dereferencing of the pointer b (i.e. "(a) * (*b)"). You may be able to disambiguate this by prescedence, though it would be very ugly in the lexer (you could never have a STARSTAR token, it would have to be handled in the grammar) and would be terribly confusing.
- judk 12y agoIt's math, not computer code. ^ means exponentiatuon. The author was just being weird.
- 14113 12y agoUnderstandable, but in every other mathematical context (LaTeX for example) a single caret is used as the exponential operator. I guess it's just a convention that's different in different cultures/crowds.