James Mastros writes:
> The problem with {} for a hash dereference operator is not it's
> typeablility, but rather it's autoquoting behavior from perl5. In
> perl5, the contents of {foo} are a string -- except when they aren't.
> Quick:
>
> $wheel->{roll} = 3;
> $wheel->{shift} = 4;
>
> In perl5, the first is a literal, the second shifts from @_. Whoops.
That's wrong. I can't determine whether you knew it was wrong, and
your final assessment sentence was intentionally wrong (thus "Whoops").
But, in Perl 5, they're both literals.
> In perl6, the contents of {} is an expression. The first is an error
> unless a function named roll is available (or a method on the topic?).
> The second is good old shift (on the topic now).
I don't know what argumentless shift does now. It probably works on
@*ARGS when you're in the main program, but inside a sub... I dunno.
Maybe it shifts from the slurpy array argument. Shifting on the topic
seems wrong (since you could use .shift for that).
Luke