From dbix-class at trout.me.uk Tue May 3 20:06:40 2011 From: dbix-class at trout.me.uk (Matt S Trout) Date: Tue May 3 20:06:44 2011 Subject: [Perl5-syntax] Method signatures: are slurpy params optional by default? In-Reply-To: References: Message-ID: <4DC06050.3030202@trout.me.uk> On 26/04/11 20:15, Buddy Burden wrote: > David (and phaylon), > >> I assume that Perl 6 has not dropped the possibility of empty arrays. >> >> Empty arrays are valid syntax means that "an array argument" can be empty. > > I hear you guys, but--at least in the abstract--there is a difference > between an empty array and no array at all. That is, I certainly > agree that this: > > my @a = (); > $obj->foo(@a); > > must be considered legal no matter what, but that's not technically the same as: > > $obj->foo(); > > Now, as a practical matter, if we're talking about Perl5, there isn't > really a way to distinguish between the two (barring some sort of Deep > Magic(tm)). But perhaps in Perl6 there is; I dunno. Perl6::Contexts actually manages to distinguish. But I think it's probably better to accept that >> From the abstract perspective, I'd still be curious to know how Perl6 > will handle such questions, if anyone has any insight. You'd be better off asking the perl6 people if you want to know (though I think the answer is that $obj->foo(@a) in the camelia spec is more like $obj->foo(\@a) in perl5). This list is perl5-syntax for a reason - we might love stealing our little sister's ideas but it's still a different language :)