No, but it's pretty easy to write:

(defn map-depth [f coll depth]
  (if (zero? depth)
    (map f coll)
    (for [x coll]
      (map-depth f x (dec depth)))))

On Tuesday, July 17, 2012 7:17:19 PM UTC-7, Seth Chandler wrote:
>
> I'm new both to Clojure and to this group, so please be gentle.  I come to 
> Clojure mostly from a Mathematica background, which has a certain Lispyness 
> to it.  One of the things one can do in Mathematica is to map a function to 
> an s-expression but not at its top level, but rather at some user specified 
> level.  Thus Map[f, {{a,b},{c,d}},{2}] will (because of the {2} as the last 
> argument) evaluate to {{f[a],f[b]},{f[c],f[d]}} rather than 
> {f[{a,b}],f[{c,d}]}.  I have found this capability of having functions that 
> work at levels of an expression to be extremely valuable.  Is there work 
> already done that extends the higher order functions to permit something 
> like this.  And, yes, I am sure one could write a macro and perhaps that 
> has already been done, but I was curious as to what was out there.  My 
> Google search did not yield much on this topic, but perhaps I used the 
> wrong Clojure vocabulary.
>
> Thanks
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to