--- Damian Conway <[EMAIL PROTECTED]> wrote: > Various folks have suggested that the default assignment syntax: > > sub foo(?$bar is copy = 1) {...} > > be considered merely a shorthand for something like: > > sub foo(?$bar is copy is default(1)) {...} > > thereby allowing: > > sub foo(?$bar is default(1) is copy ) {...} > > and hence (mirabile dictu): > > sub foo(?$bar = 1 is copy ) {...} > > > The design team has already considered this idea, and my problem > with it then (and now) is that it's inconsistent with other forms > of variable declaration: > > my sub foo( ?$bar is constant = 1 ) {...} # OKAY > my $bar is constant = 1; # OKAY > > my sub foo( ?$bar = 1 is constant ) {...} # OKAY > my $bar = 1 is constant; # KABOOM! > > and thereby lays a cognitive trap for programmers. >
1- Good catch, and all, but that's the kind of thing (like @ in strings) that gets a warning emitted from the compiler -- not the kind of thing that makes it prohibitive to support the feature. > I don't know...maybe I'm worrying too much. > But then, that's part of my job. ;-) 2- Yeah! ... umm, are we *paying* you for this? =Austin