Ahh yes, this works (with apply):-

(defn ea-xmi [dname & packages]
   (into [:xmi {:version "2.1"
         :nsuml "http://schema.omg.org/spec/UML/2.1";
         :nsxmi "http://schema.omg.org/spec/XMI/2.1";
         :customprofile "http://www.sparxsystems.com/profiles/
thecustomprofile/1.0"}]
         (apply identity packages)))

What I want is just to call each function defined in 'packages'.
Basically evaluate the list of HigherOrderFunctions specified in
'packages'

If anyone can suggest something even cleaner, that would be great.

Ronnie
On Jun 8, 3:01 pm, Mushfaque Chowdhury <mushfaque.chowdh...@gmail.com>
wrote:
> Thanks Meikel
>
> I'm hoping that the "into" function is not going to make things
> inefficient but I'll give it a go.
>
> I also agree, eval is not what I want, because it does feel wrong.
> Something tells me that I should be using apply, but I've not yet
> figured out why/how.
>
> Ronnie
>
> On Jun 8, 2:07 pm, Meikel Brandmeyer <m...@kotka.de> wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > you just need a slight change in your ea-xmi function.
>
> > (defn ea-xmi
> >   [dname & packages]
> >   (into [:xmi {:version "2.1"
> >                :nsuml "http://schema.omg.org/spec/UML/2.1";
> >                :nsxmi "http://schema.omg.org/spec/XMI/2.1";
> >                :customprofile
> > "http://www.sparxsystems.com/profiles/thecustomprofile/1.0"}]
> >         (map #(eval %) packages)))
>
> > Note, that I am one of the eval-is-not-what-you-want advocates. So... The
> > eval there is almost surely not what you want.
>
> > Sincerely
> > Meikel

-- 
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