Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: RFC: Implicit Parallelization Pragma

by mauke (Novice)
on Jan 27, 2005 at 23:52 UTC ( #425815=note: print w/replies, xml ) Need Help??


in reply to Re: RFC: Implicit Parallelization Pragma
in thread RFC: Implicit Parallelization Pragma

Indeed. And in Perl, this is very, very hard. How hard? Well, your own example fails the test. Even the map {length} @array may cause a side-effect.

Here's another example:

use warnings; use strict; { package Tmp; use overload '""' => \&str, fallback => 1; sub c { bless [$_[1]], $_[0] } sub str { print "Hello, $_[0][0]\n"; "." x rand 10 } } my @strs = map Tmp->c($_), qw[foo bar baz]; my @str_lengths = map { length } @strs; print "$_\n" for @str_lengths;

As you can see, this time each call to length prints something to STDOUT and calls rand, which modifies global state. This is another reason why perl can't optimize such a loop in the general case: it's very hard to prove that @strs isn't tied or contains objects with overloaded stringification.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://425815]
help
Chatterbox?
[oiskuu]: So, how long did it take you to grow up?
[oiskuu]: Have you ever had your temperature taken from the other end?
[marto]: I read about a case where people were at a launderette, or whatever they're called in the US, and as a joke, put their toddler in with the washing, then closed the door
[Your Mother]: (Work in progress.)
[marto]: unaware that the model in question started the cycle automatically, provided the money/token had already been provided
[marto]: CCTV footage of the joke gone wrong is used in educational materials now IIRC
[ambrus]: oiskuu: definitely not silly. have you ever tried to remove cat hair or dog hair from clothes? for many clothes, it's pretty hard, and running the washing machine with a cat inside would get the hair on everything.
[oiskuu]: YM, I'm interested in your questions... maybe start a a thread at polls.
[oiskuu]: marto, it ended badly? I doubt the power is easy to plug at those installations?
[marto]: oiskuu sadly yes

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2017-12-18 14:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (488 votes). Check out past polls.

    Notices?