On 15.11.2008, at 23:29, Stephen C. Gilardi wrote:

>> But there is no islist?, nor anything that looks equivalent. So how
>> do I test if form is a list? Or a vector? Or a map? For processing
>> general forms, I'd need to handle all of these, right? Or is there a
>> simpler way to do it?
>
> You can use list? vector? and map?.
Ahh, thanks. That gives:

(defn replace-syms
    [sym-map expr]
    (let [replace #(replace-syms sym-map %)]
       (cond (contains? sym-map expr) (get sym-map expr)
            (list? expr) (map #(replace-syms sym-map %) expr)
            (vector? expr) (into [] (map replace expr))
            (map? expr) (into {} (map replace (seq expr)))
            (set? expr) (set (map replace expr))
            true expr)))

which seems to work just fine.

> To find all predicates that clojure defines, you can do this search:
>
> user=>(find-doc "[?]")

Thanks even more, that's a real life-saver!

Konrad.


--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to