Steve Peters <[EMAIL PROTECTED]> wrote:
> ~ seems to be available for a sigil, if my reading of S02 is correct, and
> the cent sign is replacing :: in all cases. If not (that is $::foo is
> still the global variable named foo) then * may also be available.
Sigils can't conflict with unary operators (like, say, the
stringification and flattening operators, ~ and *) and ideally
shouldn't conflict with binary ops either (although % breaks this
rule).
This has been done before several times on p6l, but I'll do it again:
Chr Term Operator
=== ==== ========
~ Stringify Concatenate
` Reserved for user Reserved for user
! Not
@ Array sigil Array sigil
# Comment Comment
$ Scalar sigil Scalar sigil
% Hash sigil Hash sigil, modulo
^ (Not sure) one() junction
& Subroutine sigil all() junction
* Unary splat Multiplication
( Open paren Subroutine call
) (technically unused) Close paren
- Negate Subtract
_ Identifier (technically unused)
= Iteration Assign
+ Numify Add
\ Take reference
| any() junction
[ Anonymous array Array index
{ Block Hash index
] (technically unused) Close square bracket
} (technically unused) Close curly bracket
; (technically unused) Statement delimiter, anonymous array
: Pair "super comma"
' Single quotes (technically unused)
" Double quotes (technically unused)
, (technically unused) List items
< quote words Less than
. Method call on topic Method call
> (technically unused) Greater than
/ Anonymous rule Divide
? Boolify
There are very few unary operators available, and none (besides the
user-defined backticks operator) unused in both term and operator
context.
--
Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]>
Perl and Parrot hacker