Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: recursive anonymous subroutines

by ambrus (Abbot)
on Apr 06, 2006 at 20:27 UTC ( #541722=note: print w/ replies, xml ) Need Help??


in reply to Re: recursive anonymous subroutines
in thread recursive anonymous subroutines

The J language has something like that, a magical operator called $: which always refers to the innermost verb it is used at.

However, I don't like that, and don't think it would be a good idea for perl. I'd rather like something like (one form of) the let macro in scheme. The equivalent to this would be something like this in perl: the hypothetical let NAME { BODY } ARGS could be equivalent to do { my sub NAME { BODY }; NAME(ARGS); }, where you can call NAME in the BODY too. Except we'd need a different name instead of let.

Update: redo wouldn't help. That only works if you have tail recursion. Redo doesn't return.


Comment on Re^2: recursive anonymous subroutines
Select or Download Code
Re^3: recursive anonymous subroutines
by Daryn (Sexton) on Apr 06, 2006 at 21:08 UTC
    the whole point is not to name the beast. I like the idea of a $thingy :
    (sub {... $thingy->(...) ... )->(args);
    would suit me just fine. Oh well. I can live without it.

    Thanks again.
      It's been done.
      use Sub::Recursive; recursive { ... $REC->(...) ... }->(args)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (9)
As of 2014-08-21 16:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (136 votes), past polls