Ingo Blechschmidt wrote:
is that allowed (as 42 is a Num (or an Int), not a Code)?
I don't know, but guess not.
Do (most of) the basic types morph themselves into Codes, when needed?
I don't consider it type morphing. If your examples parse
at all they will be dispatched as usual
say 42(); # 42?
&postfix:<.( )>:( Int :)
say "Perl"(); # Perl?
&postfix:<.( )>:( Str :)
say [1,2,3].does(Code) # true?
Depends on the type of  which is Ref of Array or so.
But I think it should be false.
Or did you simply forget the braces around 42? :)
No, it was intented for seeing what the reactions will be :)
Just using &foo as unsigiled variable. This might need
my &foo is rw;
But then I presume you could say:
foo = 17;
if foo < 8
@a[foo] = 8;
We could call that a codeless lvalue sub ;)
TSa (Thomas Sandlaß)