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

Reply via email to