HaloO, Larry Wall wrote:
Another possibility is to take $? away from the compiler. All the compiler variables could go under $= instead, since pod is actually just one particular kind of compiler-time data, and there's really no particular mnemonic relationship between ? and the compiler. But $?foo is harder to type than $!foo. Maybe we hold $?foo in reserve for some other kind of attribute scope.
Well, I would like to see a very deep running opportunistic ? and existential ! markup. That is quest- *in* *ex* -pect That would make $? the natural choice for the INvocant like $! is the EXception. In multi methods the invocants would naturally be aliased to @?, then. Perhaps this also gives the in/ex ?/! equivalence we are searching syntactically. I mean the the 'in' prefix is partly a negative and partly a positive prefix in many latin derived english words. So, we drop 'true' and use 'in' or 'inex' to complement 'not' as the loose precedence booleanizer. And the rest falls in beautifully $* global (infinitely outer env) $+ one step out and then outwards env BTW, how is the lazy flattening op disambuated? $x = *foo 1,2,3; #1 call global foo on 1,2,3; or #2 flatten return values of foo into 1,2,3; ? I would like to disambiguate as $x = &*foo 1,2,3; # global call, same as *::foo 1,2,3; $x = *&foo 1,2,3; # flatten result $x = * foo 1,2,3; # unary prefix a bit ugly, but OK. --