Thanks for the Scalar::Util pointers

Im worried about the prototyping trick

I went down that path so that the leaf case could use the bare block syntax like a map. Also I wanted a variadic function and since the remaining args could be anything... there's not much room. I could have two entry functions, one for leaves and one with a hash mapping of functions.

I do like the minimal do {this} to @these ... Maybe 3 calling modes, leaf, prototype hack or sub hash. I'll think some more.

$cut is a problem in my eyes. I think I would prefer to just have it return true or false rather than deal with this special variable

Again, this was for aesthetics of the simple case. Most of the time you won't be cutting, just tweaking, or at least that the case I want to make easy. (It's also a design hang over from when it was more map-like and used the return value as replacement) Maybe die "cut" could be an appropriate out of band return value.

I don't like the name either. Still considering traverse, visit, for_tree, apply. I suspect that functional languages have a good name for this, I should research it.


In reply to Re: Re: Recursive map Design Questions by bsb
in thread Recursive map Design Questions by bsb

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.