Ru, Take a look at the approach used by Clara (https://github.com/rbrush/clara-rules.) It works in both Clojure and ClojureScript. It translates the DSL using eval at macro-expansion time to generate the productions - see defsession.
Will take a look at rete4frames again when I get a chance. Good luck! Alan On Saturday, February 13, 2016 at 10:58:47 AM UTC-8, ru wrote: > > I think macros can't be of much help in my task. I am working on project > rete4frame (https://github.com/rururu/rete4frames) and now want to port > it to ClojureScript. It is CLIPS-like expert system shell with simplified > version of RETE algorithm. It has its own language with LISP syntax and it > is a superset of Clojure/ClojureScript in a sence that it contains inside > rule descriptions pieces of arbitrary Clojure/ClojureScript code. Work of > system consists of two phases: Translation and Run. I use "eval" during > Translation phase in Clojure to get pieces of code "executeble" on Run > phase. So, I need solution how it can be done in ClojureScript. > > -Ru > > суббота, 13 февраля 2016 г., 18:25:46 UTC+3 пользователь ru написал: >> >> Dear ClojureScript users and team! >> >> Without "eval" function ClojureScript can't be recognized as a >> full-fledged LISP. "Code as data" paradigm can't be implemented without >> "eval". What purpose of code constructed programmatically, if it can not be >> evaluated?! In that sence plain old JavaScript is more LISP than >> ClojureScript. Am I right? May be I have mised something important in that >> problem? >> >> Sincerely, >> Ru >> > -- 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.