How would I get something similar to the following?:
(evaluate-text \"(+ 1 2)\") ; resolves to 3
How similar does it have to be? Clojure's eval
works on lists, so:
(eval (list + 1 2)) #=> 3
(load-string "(+ 1 2)")
user> (eval (read-string "(+ 1 2)"))
3
You probably shouldn't ever need to do this. Macros and fns make this kind of thing unnecessary 99% of the time. This is quite brittle, and can be unsafe if these strings are coming from user input, and so on.