Hi all,

   I'm a novice to Clojure (but not to programming). 
   I'm looking for an implementation of an eval function to eval expression 
like Mathematica does.
   For instance, in Mathematica the expression:

   8 + a + 9 (2 + b) + 2

   if a and b are not bound, translates to

Plus[10, a, Times[9, Plus[2, b]]]

   if a and b become bounded later (let say to 1 and 2) and the expression 
is evaluated again, it returns 47.

   I would like to be able to run:
     (eval-partial '(+ (+ 8 2) a (* 9 (+ 2 b))))
   and get, if a and b are unbound:
     (fn [x y] (+ 10 x (* 9 (+ 2 y))))
   or (better still)
         ['(a b) (fn [x y] (+ 10 x (* 9 (+ 2 y))))]
   Notice that, whenever possible, the eval takes place and parts of the 
expression are evaluated (in the example above, the expression (+ 8 2) is 
evaluated to 10).  

   If you know of any implementation or have any ideas on the subject, 
please let me know.

   Cheers,
Dilvan.
 

-- 
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/d/optout.

Reply via email to