If I have something like this...

(ns demo)

(defn add_numbers ([x] x)
    ([x & rest-args] (reduce + (cons x rest-args))))

(defmacro silly_adder [sum]
    (let [addend# (for [i (range sum)] 1)]
    `(add_numbers ~...@addend#)))

(defmacro even_sillier_adder [sum]
    `(silly_adder ~(+ sum 5)))

I can invoke a function using Java code that looks something like this...

Reader reader = new FileReader("clj/demo.clj");
Compiler.load(reader);
Var var = RT.var("demo", "add_numbers");
Object result = var.invoke(4, 7);
System.out.println("Result: " + result);

I am not sure how to invoke even_sillier_adder.  Any help would be
appreciated.



jb

-- 
Jeff Brown
SpringSource
http://www.springsource.com/

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/

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