Re: Proposal: chop() dropped

2000-09-01 Thread Tom Christiansen
>I already proposed that. Benchmarks show that reading a file with >explicit chomp() is easily 20% slower than reading the same file with >implicit chomp(), through the -l command line switch. And what, pray tell, do you do about the small matter of wanting to read some files without implicit rec

Re: Proposal: chop() dropped

2000-09-01 Thread Bart Lateur
On Fri, 1 Sep 2000 08:33:24 -0400 (EDT), Eric Roode wrote: >For that matter, let's drop chomp(), eh? I already proposed that. Benchmarks show that reading a file with explicit chomp() is easily 20% slower than reading the same file with implicit chomp(), through the -l command line switch. The

Re: Proposal: chop() dropped

2000-09-01 Thread Tom Christiansen
>Bart Lateur wrote: >>On Thu, 31 Aug 2000 13:36:10 -0600, Tom Christiansen wrote: >>>No. People should learn intrinsic mechanisms with which they can >>>construct infinitely many beautiful and powerful effects. This empowers >>>them. Making them learn yet-another-function-call merely hamstrings

Re: Proposal: chop() dropped

2000-09-01 Thread Eric Roode
Bart Lateur wrote: >On Thu, 31 Aug 2000 13:36:10 -0600, Tom Christiansen wrote: >>No. People should learn intrinsic mechanisms with which they can >>construct infinitely many beautiful and powerful effects. This empowers >>them. Making them learn yet-another-function-call merely hamstrings >>th

Re: Proposal: chop() dropped

2000-08-31 Thread Bart Lateur
On Thu, 31 Aug 2000 13:36:10 -0600, Tom Christiansen wrote: >>I'm not arguing in favor of the tr/// hack specifically, but >>gosh, wouldn't it be nice if there were a thwack() builtin that >>stripped leading and trailing spaces? > >No. People should learn intrinsic mechanisms with which they c

Re: Proposal: chop() dropped

2000-08-31 Thread Tom Christiansen
>I'm not arguing in favor of the tr/// hack specifically, but >gosh, wouldn't it be nice if there were a thwack() builtin that >stripped leading and trailing spaces? No. People should learn intrinsic mechanisms with which they can construct infinitely many beautiful and powerful effects. This

Re: Proposal: chop() dropped

2000-08-31 Thread Eric Roode
TomC wrote: >In general, getting folks to write > >s/^\s+//s; >s/\s+$//s; # XXX: \z > >is a *good* think. Why? Removing leading/trailing whitespace is a tremendously frequently- performed task. Perl gives you -l on the command line to strip newlines on input and add them on output, sim

Re: Proposal: chop() dropped

2000-08-31 Thread Tom Christiansen
>How would you do: ># Writer insists on blank line between paragraphs, first line indented. ># Publisher insists on one paragraph/line, first word ALL CAPS. Step 1: Fire the lame publisher. I'm serious. It's amazing what people tolerate. Some things aren't worth the pane. >{ >local $/ =

Re: Proposal: chop() dropped

2000-08-31 Thread Tom Christiansen
>tr///l # Translate only _l_eading characters matching. >tr///t # Translate only _t_railing characters matching. >With "Only leading" I mean translate from start/end until you find a >character not matching. Then you can do nifty things such as: >tr/\w//dlt # Trim all leading & tra

Re: Proposal: chop() dropped

2000-08-31 Thread Jonathan Scott Duff
On Thu, Aug 31, 2000 at 02:52:10PM -0400, Buddha Buck wrote: > How would you do: > > # Writer insists on blank line between paragraphs, first line indented. > # Publisher insists on one paragraph/line, first word ALL CAPS. > { > local $/ = ""; #slurp paragraph at a time. > while () { >

Re: Proposal: chop() dropped

2000-08-31 Thread Buddha Buck
At 01:35 PM 8/31/00 -0500, Jonathan Scott Duff wrote: >On Thu, Aug 31, 2000 at 07:59:31PM +0200, Dan Zetterstrom wrote: > > Why not use the "function" we already got, tr? Something like: > > > > tr///l # Translate only _l_eading characters matching. > > tr///t # Translate only _t_raili

Re: Proposal: chop() dropped

2000-08-31 Thread Jonathan Scott Duff
On Thu, Aug 31, 2000 at 07:59:31PM +0200, Dan Zetterstrom wrote: > Why not use the "function" we already got, tr? Something like: > > tr///l # Translate only _l_eading characters matching. > tr///t # Translate only _t_railing characters matching. > > With "Only leading" I mean transla

Re: Proposal: chop() dropped

2000-08-31 Thread Dan Zetterstrom
On Thu, 31 Aug 2000 19:59:31 +0200, you wrotc: >tr/\w//dlt # Trim all leading & trailing whitespace from $_ > Eh, scratch that. Too much caffeine i guess. tr/\n\r\t //dlt; # Trim some whitespace. -DZ -- Tell me your dreams and I will crush them.

Re: Proposal: chop() dropped

2000-08-31 Thread Dan Zetterstrom
On Thu, 31 Aug 2000 09:41:37 -0400 (EDT), you wrotc: >Nathan Wiger wrote: >>In a very cool email, Bryan Warnock talked about half a dozen different >>chop-like functions that are useful but not in core: >> >>http://www.mail-archive.com/perl6-language@perl.org/msg01522.html >> >>I think chop, cham

Re: Proposal: chop() dropped

2000-08-31 Thread Nathan Torkington
Eric Roode writes: > Useful functions all, no doubt. But I would lobby heavily for a new > set of names -- ones that can be remembered! Quick -- which trims > leading spaces, champ, chump, or chimp? My favourite: chafe(). Nat

Re: Proposal: chop() dropped

2000-08-31 Thread Eric Roode
Nathan Wiger wrote: >In a very cool email, Bryan Warnock talked about half a dozen different >chop-like functions that are useful but not in core: > >http://www.mail-archive.com/perl6-language@perl.org/msg01522.html > >I think chop, champ, chip, and friends should be available via the > > use St

Re: Proposal: chop() dropped

2000-08-31 Thread Jonathan Scott Duff
On Wed, Aug 30, 2000 at 04:34:50PM -0600, Nathan Torkington wrote: > I wouldn't go that far. It might say something about the difference > between proposals made as rhetorical devices ("yes, but if that's the > case then you should be getting rid of X, Y, and Z!"). Really, though, > I think it's

RE: Proposal: chop() dropped

2000-08-31 Thread Eric Roode
My first reaction was "NOOO!!" we'll break too much code! Now, I'm not so sure. Nearly always, chomp() is what is called for; how often *do* you need to chop off the last character of a string? And, as someone else pointed out, why not the first character? "Al" wrote: >I would actualy lik

Re: Proposal: chop() dropped

2000-08-30 Thread Nathan Wiger
Tom Christiansen wrote: > > >I'll second that motion. We already have lots of ways of removing the > >last character of a string if that's what we really need. > > But they're slow and hard to read. I think the word "drop" should be clarified as "dropped from the core binary". In a very cool

Re: Proposal: chop() dropped

2000-08-30 Thread skud
On Wed, Aug 30, 2000 at 02:31:00PM -0600, Nathan Torkington wrote: >chomp() is best used for chop()s main raison d'etre, removing $/ >from a string. I say we drop chop(). Works for me. Are you going to RFC it? K. -- Kirrily Robert -- <[EMAIL PROTECTED]> -- http://netizen.com.au/ Open Source

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
>I would actualy like to see chop expanded to allow a variable number of >characters to be removed and a sister function to cut the head off. Yes I >know you can do this with substr but sometimes when you want the performance >and need to cut up a string into fields. Lets say the new function is c

RE: Proposal: chop() dropped

2000-08-30 Thread Al
>>I'll second that motion. We already have lots of ways of removing the >>last character of a string if that's what we really need. >But they're slow and hard to read. I would actualy like to see chop expanded to allow a variable number of characters to be removed and a sister function to cut

Re: Proposal: chop() dropped

2000-08-30 Thread Bart Lateur
On Wed, 30 Aug 2000 16:14:35 -0600, Tom Christiansen wrote: >>I say we drop chop(). > >So code that says > >chop($k,$v) > >will need to say > >for ($k,$v) { s/.\z//s } > >or else something like: > >for ($k, $v) { substr($_, length() - 1) = '' } > >I'm not sure I find either of those

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
>I presume that line disciplines will be object-oriented and inherit from >some base class; therefore a bare chomp will use the line terminator from >that base class and for the others, you could do something like >$fh->chomp($line) to do chomping specific to a particular filehandle. Make >se

Re: Proposal: chop() dropped

2000-08-30 Thread Peter Scott
At 04:36 PM 8/30/00 -0600, Tom Christiansen wrote: > >the reason that they're duplicatable with other features, while I want > >to drop chop because its main purpose has now been replaced with the > >far superior chomp. > >Except that chomp() relies upon the ueberglobal $/ variable, >irrespective

Re: Proposal: chop() dropped

2000-08-30 Thread Nathan Torkington
Tom Christiansen writes: > So code that says > > chop($k,$v) > > will need to say > > for ($k,$v) { s/.\z//s } > > or else something like: > > for ($k, $v) { substr($_, length() - 1) = '' } I don't think chop() is an operation that's done often enough for either of the things ab

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
>the reason that they're duplicatable with other features, while I want >to drop chop because its main purpose has now been replaced with the >far superior chomp. Except that chomp() relies upon the ueberglobal $/ variable, irrespective of the source of the data being chomped. --tom

Re: Proposal: chop() dropped

2000-08-30 Thread Nathan Torkington
Ed Mills writes: > Duck & cover Nate- I sugested that weeks ago and the flames are just dying > down in my mailbox.. Whoops, sorry. I didn't realize that had already been submitted. I just read through the mail archive and didn't see much in the way of flames there. J.S. Duff wants to keep th

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
>I'll second that motion. We already have lots of ways of removing the >last character of a string if that's what we really need. But they're slow and hard to read. --tom

Re: Proposal: chop() dropped

2000-08-30 Thread Tom Christiansen
>chomp() is best used for chop()s main raison d'etre, removing $/ >from a string. I say we drop chop(). So code that says chop($k,$v) will need to say for ($k,$v) { s/.\z//s } or else something like: for ($k, $v) { substr($_, length() - 1) = '' } I'm not sure I find either of

Re: Proposal: chop() dropped

2000-08-30 Thread Ed Mills
Duck & cover Nate- I sugested that weeks ago and the flames are just dying down in my mailbox.. It'll be an interesting experiement in "community behavior" however. If your proposal is widely acclaimed or even seriously considered, while mine was summarily dismissed, then it may be safe to ass

Re: Proposal: chop() dropped

2000-08-30 Thread Jonathan Scott Duff
On Wed, Aug 30, 2000 at 02:31:00PM -0600, Nathan Torkington wrote: > chomp() is best used for chop()s main raison d'etre, removing $/ > from a string. I say we drop chop(). I'll second that motion. We already have lots of ways of removing the last character of a string if that's what we really