On Mon, 28 Oct 2002, David Dyck wrote: : I admit that I use pack, bitwise operators, as well as 0x constants : in many of my scripts. I'm not sure what Angel means by taking : some of these things out of the core, but if my short perl5 scripts : start to grow to python length I'll have less incentive to : move in the perl6 direction. For now I'll just hope : that most of the people driving perl6 know what the average : users are going to do with perl6.
I think that at the beginning, the average Perl 6 user would try to use | and & as bitops and be shocked when they return superpositions instead. So it might be better if they fail by default, unless we can find a foolproof way to warn people when they use superpositional ops to do bitops. But it's pretty hard to determine the intent of $x |= 1; On the other hand, people do adapt, eventually... : Isn't the average perl user using perl5 now? Well, sure. As of yet, Perl 6 users are in short supply. But we'd like to change that at some point. I really don't think there's any great danger of Perl 6 starting to resemble Python, though. If we start to have too many things that have to be declared in order to use advanced features like bitops, hypers, and supers, someone enterprising person will just come up with a use all; Alternately, we could make that the default, and then anyone who wants training wheels has to say something like: use safe; use basic; use newbie; I have historically preferred that approach. Certainly it's something that could be enforced by a policy file too. An intro to programming class is likely to have such a policy file anyway: $ perl6 use CS_101; if $a | $b { Prof. Roberts says you are too stupid to use superpositions at line 2. But I do think that superpositions will be used heavily enough in case statements that people will get used to | not meaning bitor. Larry