I ended up using (list ~@attrs) which is very similar to what you're
suggesting...:)
JIm
On 05/09/13 20:22, Dave Ray wrote:
~(vec attrs), perhaps?
On Thu, Sep 5, 2013 at 12:20 PM, Jim - FooBar(); <jimpil1...@gmail.com
<mailto:jimpil1...@gmail.com>> wrote:
HI all,
I've gotten myself into a weird situation...
I'm defining a def-like macro and I want to use
'name-with-attributes'. Consider the following skeleton:
(defmacro defX [name & args]
(let [[name attrs] (name-with-attributes name args)]
`(let [cs-coll# ~attrs]
(assert (every? component? cs-coll#) "Can only accept IComponents")
(def ~name (Workflow. cs-coll# {:description (-> ~name meta
:doc)} nil)))
now consider that I am calling this like so:
(defworkflow my-stem-pipe "my own basic stemming pipe" my-ssplit
my-tokenizer porter-stemmer)
where the last three symbols refer to records which implement IFn...
doing "~attrs" tries to invoke the list as a function-call because
the first symbol happens to be a function but I just want the list
of records (eval'd symbols) so the assertion can proceed...
any ideas?
Jim
--
--
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
<mailto: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
<mailto:clojure%2bunsubscr...@googlegroups.com>
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- You received this message because you are subscribed to the
Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to clojure+unsubscr...@googlegroups.com
<mailto:clojure%2bunsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/groups/opt_out.
--
--
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
---
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
--
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
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.