S02 mentions "identifier extensions" in the section describing adverbial
pairs with non-identifier keys (see the table reproduced below).
What are identifier extensions? I'm guessing that :<if> and :<+> are
both acting as identifier extensions in these examples:
statement_control:<if>
infix:<+>
But what's really going on there? Are we effectively creating an
identifier with non-identifier characters, or what? I've been reading
such things subconsciously as operator definitions with precedence and
associativity modifiers. But modifiers ought to be written after the
modified quantity, as adverbs, so that would more properly be written as
if:statement_control
+:infix
except, of course, + isn't a valid identifier.
Another interpretation is that, for example, statement_control:<if> is
the "if" token defined inside the statement_control grammar. Its
similarity to hash access makes it look likes it grabbing something from
out of a container.
And yes, I have tried to find in the synopses a discussion of the real
meaning of references like infix:<+>, but I've been unsuccessful. Can
anybody help me find the relevant synopsis?
And, if I've guessed wrong, and "identifier extensions" have nothing to
do with infix:<+> and friends, then what ARE identifier extensions?
Here's the table, reproduced from S02, the uses the phrase "identifier
extension":
Simple pair DIFFERS from which means
=========== ============ ===========
2 => <101010> :2<101010> radix literal 0b101010
8 => <123> :8<123> radix literal 0o123
16 => <deadbeef> :16<deadbeef> radix literal 0xdeadbeef
16 => $somevalue :16($somevalue) radix conversion function
'' => $x :($x) arglist or signature literal
'' => ($x,$y) :($x,$y) arglist or signature literal
'' => <x> :<x> identifier extension
'' => «x» :«x» identifier extension
'' => [$x,$y] :[$x,$y] identifier extension
'' => { .say } :{ .say } adverbial block
=thom
--
Larry Niven's Laws
#6: It is easier to destroy than create.
Bin Laden tore down the World Trade Center? Let's see him build one. If
human beings didn't have a strong preference for creation, nothing would
get built, ever.