Re: Fisher-Yates shuffle

2002-04-12 Thread Piers Cawley
[EMAIL PROTECTED] writes: > On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: >> [EMAIL PROTECTED] writes: >> > >> > Why isn't >> > >> > if %foo {"key"} {print "Hello 1"} >> > >> > equivalent with the perl5 syntax: >> > >> > if (%foo) {"key"} {print "Hello 1"} >> > >> > Which

Re: Subroutine variables are like underwear

2002-04-12 Thread Luke Palmer
On Fri, 12 Apr 2002, Miko O'Sullivan wrote: > SUMMARY > > A way to declare public names for params irrelevant to the internal variable > names: > > sub load_data (-filename $filename_tainted ; 'version' 'ver' > $version_input / /= 1) {...} I like it. It's clean (doesn't introduce any wierd op

Subroutine variables are like underwear

2002-04-12 Thread Miko O'Sullivan
SUMMARY A way to declare public names for params irrelevant to the internal variable names: sub load_data (-filename $filename_tainted ; 'version' 'ver' $version_input / /= 1) {...} DETAILS Subroutine variables are like underwear: you don't generally go showing them to everybody. So, when

Re: Unary dot

2002-04-12 Thread damian
Dave Mitchell wrote: > The top 20 'my $var' declarations in .pm files in the bleedperl > distribution: How *dare* you introduce hard data into this discussion! Next you'll be wanting to deal in actual facts rather than personal opinion and sheer guesses!! ;-) Thanks, Dave. Very illuminating.

Re: How to default? (was Unary dot)

2002-04-12 Thread Glenn Linderman
Allison Randal wrote: > > In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: > > > $_ becomes lexical > Sound logic. And it almost did go that way. But subs that access the > current $_ directly are far too common, and far to useful. One thing I'm missing is how those common useful sub

Re: How to default? (was Unary dot)

2002-04-12 Thread Allison Randal
Okay, first thing to keep in mind, this hasn't been finally-finalized yet. Alot was hashed out in the process of proofing E4, but there will be more to come. On Fri, Apr 12, 2002 at 07:39:17PM -0400, Trey Harris wrote: > In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: > > $_ becomes

Re: How to default? (was Unary dot)

2002-04-12 Thread Allison Randal
On Fri, Apr 12, 2002 at 02:44:38AM -0400, Trey Harris wrote: > I think I've missed something, even after poring over the archives for > some hours looking for the answer. How does one write defaulting > subroutines a la builtins like print() and chomp()? Assume the code: > > for <> { > pr

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: > $_ becomes lexical > $_ gets aliased to the first topic of a given clause (hence changes > value more often, but the lexical scoping helps reduce that impact) Okay. But it sounds like you're saying that C, and C only, introduces a to

Re: How to default? (was Unary dot)

2002-04-12 Thread Glenn Linderman
Trey Harris wrote: > > Oops, caught my own mistake... > Because $_ is always the topic, which is always the first parameter to a > block, which in subroutines is @_[0], right? So in a sub, $_ == @_[0]. > The only question I have is if you modify @_ with a shift, does $_ > continue to point at t

Re: Unary dot

2002-04-12 Thread Dave Mitchell
On Wed, Apr 10, 2002 at 05:47:01PM -0500, Allison Randal wrote: > I'm in favor of the standardized variable name. It is a restriction, but > not an onerous one. I've never used anything but $self, and I'm sure it > would be easy to adapt to whatever else was chosen. Are there any > statistics avai

Re: Unary dot

2002-04-12 Thread Paul Johnson
On Thu, Apr 11, 2002 at 08:49:40AM -0700, Larry Wall wrote: > Aaron Sherman writes: > : On Thu, 2002-04-11 at 00:42, Luke Palmer wrote: > : > $foo.instancevar = 7; > : > : This should not be allowed. > > Well, that depends on what you mean by "this". :-) > > That is, in fact, calling an access

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
Oops, caught my own mistake... In a message dated Fri, 12 Apr 2002, Trey Harris writes: > In a message dated Fri, 12 Apr 2002, Luke Palmer writes: > > sub printRec { > > my $p = chomp(shift // $_); > > print ":$_:\n" > > } [Should be equivalent to] > sub printRec { > my $p = chomp(shi

Re: Fisher-Yates shuffle

2002-04-12 Thread Erik Steven Harrison
-- On Fri, 12 Apr 2002 18:27:11 abigail wrote: >On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: >> [EMAIL PROTECTED] writes: >> > >> > Why isn't >> > >> > if %foo {"key"} {print "Hello 1"} >> > >> > equivalent with the perl5 syntax: >> > >> > if (%foo) {"key"} {print "H

Re: Fisher-Yates shuffle

2002-04-12 Thread Luke Palmer
On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: > [EMAIL PROTECTED] writes: > > > > Why isn't > > > > if %foo {"key"} {print "Hello 1"} > > > > equivalent with the perl5 syntax: > > > > if (%foo) {"key"} {print "Hello 1"} > > > > Which keyword is it expecting? > > Keyword /el

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Luke Palmer writes: > Couldn't you do it with old-style Perl5 subs? > > sub printRec { > my $p = chomp(shift // $_); > print ":$_:\n" > } > > Or am _I_ missing something? That definitely won't work (aside from the $p/$_ swap which I assume is unintentional

Re: How to default? (was Unary dot)

2002-04-12 Thread Luke Palmer
On Fri, 12 Apr 2002, Trey Harris wrote: > I think I've missed something, even after poring over the archives for > some hours looking for the answer. How does one write defaulting > subroutines a la builtins like print() and chomp()? Assume the code: > > for <> { > printRec; > } > pr

Re: Unary dot

2002-04-12 Thread Paul Johnson
On Wed, Apr 10, 2002 at 08:47:17PM -0400, Melvin Smith wrote: > At 08:04 AM 4/11/2002 +1000, Damian Conway wrote: > >Of course, the problem is then: what should the name of this topicalizer > >variable be? The main options are: > > > > $self > > $me > > $I > > $this

vector processing in Perl6?

2002-04-12 Thread Rich Morin
Some while back, I asked the Perk5-porters whether there were any parts of Perl that could benefit from vector processors (e.g., the G4 Velocity Engine). The consensus of the respondents ranged from "probably not" to "I don't want to think about it". I think that better answers could have been f

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Ashley Winters writes: > Would it would be reasonable to have given default to the caller's topic? > > sub printRec { > given { > # $_ is now the caller's topic in this scope > } > } > > Perhaps C would work as well. Yes, something like that wo

RE: Defaulting params

2002-04-12 Thread David Whipp
Melvin Smith wrote: > So we have undef and reallyundef? :) Seems reasonable, given that we have c and c. How about: sub foo ( $a is optional ) { if exists($a) { ... } elsif defined($a) { ... } else { ... } } Dave.

Re: How to default? (was Unary dot)

2002-04-12 Thread Ashley Winters
- Original Message - From: "Graham Barr" <[EMAIL PROTECTED]> > Hm, I wonder if > > sub printRec($rec=$_) { ... } > > or someother way to specify that the current topic be used > as a default argument, might be possible Would it would be reasonable to have given default to the caller'

Re: Fisher-Yates shuffle

2002-04-12 Thread abigail
On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: > [EMAIL PROTECTED] writes: > > > > Why isn't > > > > if %foo {"key"} {print "Hello 1"} > > > > equivalent with the perl5 syntax: > > > > if (%foo) {"key"} {print "Hello 1"} > > > > Which keyword is it expecting? > > Keyword /e

Re: Fisher-Yates shuffle

2002-04-12 Thread abigail
On Fri, Apr 12, 2002 at 04:00:37PM +0100, Piers Cawley wrote: > > [EMAIL PROTECTED] writes: > > As for "cleanness", this is my interpretation of how perl6 is going > > to work: > > > > %foo = (); > > if %foo {"key"} {print "Hello 1"} > > > > %foo = (); > > if %foo{"key"}

Re: Fisher-Yates shuffle

2002-04-12 Thread Piers Cawley
[EMAIL PROTECTED] writes: > On Fri, Apr 12, 2002 at 04:00:37PM +0100, Piers Cawley wrote: >> >> [EMAIL PROTECTED] writes: >> > As for "cleanness", this is my interpretation of how perl6 is going >> > to work: >> > >> > %foo = (); >> > if %foo {"key"} {print "Hello 1"} >> > >> >

Re: Fisher-Yates shuffle

2002-04-12 Thread Piers Cawley
[EMAIL PROTECTED] writes: > As for "cleanness", this is my interpretation of how perl6 is going > to work: > > %foo = (); > if %foo {"key"} {print "Hello 1"} > > %foo = (); > if %foo{"key"} {print "Hello 2"} > > %foo = (); > if %foo{"key"}{print "Hello 3"

Re: How to default? (was Unary dot)

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 09:52, Jonathan Scott Duff wrote: > On Fri, Apr 12, 2002 at 09:40:16AM -0400, Aaron Sherman wrote: > > > sub printRec() { printRec($_) } # No args, therefore no new topic. > > > sub printRec($rec) { .chomp; print ":$rec:\n" } # 1 arg > > > > I think was he was s

Re: How to default? (was Unary dot)

2002-04-12 Thread Graham Barr
On Fri, Apr 12, 2002 at 09:26:45AM +0100, Piers Cawley wrote: > Trey Harris <[EMAIL PROTECTED]> writes: > > > I think I've missed something, even after poring over the archives for > > some hours looking for the answer. How does one write defaulting > > subroutines a la builtins like print() and

Re: Defaulting params

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 00:37, Melvin Smith wrote: > At 04:03 PM 4/11/2002 -0400, Aaron Sherman wrote: > >Notice that we have two different types of defaulting here. The second > >argument is the file to work on, and we set it to a reasonable default > >if it is undefined for whatever reason. Howev

Re: How to default? (was Unary dot)

2002-04-12 Thread Jonathan Scott Duff
On Fri, Apr 12, 2002 at 09:40:16AM -0400, Aaron Sherman wrote: > On Fri, 2002-04-12 at 04:26, Piers Cawley wrote: > > Trey Harris <[EMAIL PROTECTED]> writes: > > > > > I think I've missed something, even after poring over the archives for > > > some hours looking for the answer. How does one wri

Re: How to default? (was Unary dot)

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 04:26, Piers Cawley wrote: > Trey Harris <[EMAIL PROTECTED]> writes: > > > I think I've missed something, even after poring over the archives for > > some hours looking for the answer. How does one write defaulting > > subroutines a la builtins like print() and chomp()? Ass

Re: How to default? (was Unary dot)

2002-04-12 Thread Piers Cawley
Trey Harris <[EMAIL PROTECTED]> writes: > I think I've missed something, even after poring over the archives for > some hours looking for the answer. How does one write defaulting > subroutines a la builtins like print() and chomp()? Assume the code: > > for <> { > printRec; > } > pri

How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()? Assume the code: for <> { printRec; } printRec "Done!"; sub printRec { chomp; print