An interpreter would be great! I attempted a different approach, which simply evaluates an S-expression with a user-specified environment (collection of maps), here:
https://github.com/kumarshantanu/quiddity It works in Clojure and CLJS (I saw it works in ClojureCLR too but haven't managed to run all tests there yet.) Shantanu On Tuesday, 9 July 2013 05:25:18 UTC+5:30, kovasb wrote: > > I believe a reify-able clojure interpreter would be useful and interesting. > > For instance, for debugging, partial evaluation, environment capture / > manipulation, and a variety of tasks that currently require resetting the > environment just to see the behavior of code. > > I imagine this being mostly useful at the repl, for exploring the behavior > of programs, and for temporarily changing the meaning of pieces of programs > without digging into source code. > > Anyone with me? Does such a thing already exist? > > My basic design idea is to have a protocol IClojure that implements the > primitives necessary to bootstrap clojure.core. > > IClojure would be implemented by a concrete datatype. > > State mutations would correspond to returning new instances of the > datatype. > > Basically, this would be a clojure interpreter as immutable data. So you > can fabricate an interpreter with the state that you need, and keep reusing > it as you debug your other code. > > One aspect I'm not clear on is platform isolation. > > > -- -- 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.