Beefy Boxes and Bandwidth Generously Provided by pair Networks Ovid
There's more than one way to do things
 
PerlMonks  

Re: Re:x6 Think for yourself.

by tilly (Archbishop)
on Nov 04, 2003 at 06:24 UTC ( #304342=note: print w/ replies, xml ) Need Help??


in reply to Re:x6 Think for yourself.
in thread is the use of map in a void context deprecated ?

I believe that many people find easier to understand many list-oriented algorithms if you write them backwards. That is, think of:

@minutes = map { $_/60 } @seconds;
as meaning something like:
@seconds ==> map { $_/60 } ==> @minutes # you could do more complex stuff here... ;
(Syntax chosen because it is valid Perl 6.)

When you think this way, then many things that are natural to do with list-oriented operators become more intuitive. For instance merlyn has told me that he thought up the Schwartzian transform by writing it mentally as a pipeline and then rewrote it in Perl. It is only confusing when you see it because our eyes normally scan left to right, top to bottom but the flow of the calls actually goes right to left, bottom to top.

In Perl 5 that is a useful crutch until your eyes learn how to "parse" things properly. In Perl 6 it is such a useful crutch that I plan to do things that way... ;-)


Comment on Re: Re:x6 Think for yourself.
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://304342]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (11)
As of 2014-04-18 15:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (469 votes), past polls