This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-03-25
Channels
- # admin-announcements (1)
- # aws (1)
- # beginners (52)
- # boot (78)
- # cider (22)
- # cljs-dev (1)
- # cljsrn (6)
- # clojars (23)
- # clojure (51)
- # clojure-austin (2)
- # clojure-china (2)
- # clojure-dusseldorf (2)
- # clojure-russia (101)
- # clojure-sg (2)
- # clojure-uk (2)
- # clojurescript (53)
- # core-logic (14)
- # cursive (1)
- # editors (4)
- # hoplon (324)
- # jaunt (1)
- # juxt (4)
- # leiningen (2)
- # mount (17)
- # off-topic (4)
- # om (15)
- # onyx (15)
- # parinfer (4)
- # proton (5)
- # re-frame (26)
- # reagent (24)
- # ring-swagger (1)
- # slack-help (5)
- # spacemacs (2)
- # untangled (10)
Is there some code that already exists that finds free (logic, although perhaps that doesn’t really matter) in a quoted logic program?
that could be very challenging depending on how thorough you want it to be, have you considered including that information with the code you generate?
for arbitrary core.logic programs I think you would need to analyze arbitrary clojure forms for free variables (which tools.analyzer may have something you can use)
but since you control the generator, it isn't really arbitrary core.logic programs, so you can restrict the generator to a subset and only analyze the subset, and once you are tinkering with the generator, it may be easier to sort of build that information up in the generated programs vs analyzing the generated programs to recover it
(see first hunks of https://github.com/RackSec/desdemona/pull/111/files if you’re interested)
so it sounds like you have a source language, do a pass over that to turn it in to core.logic, then want to recover the free variable information from the core.logic program. I think the classic thing to do (compiler wise) would be to get that information in an analysis pass over the source language before compilation