This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-03
Channels
- # beginners (98)
- # boot (18)
- # chestnut (2)
- # cider (90)
- # cljdoc (3)
- # cljs-dev (1)
- # clojure (64)
- # clojure-dev (14)
- # clojure-dusseldorf (4)
- # clojure-italy (11)
- # clojure-nl (5)
- # clojure-spec (9)
- # clojure-uk (69)
- # clojurescript (63)
- # code-reviews (2)
- # core-logic (20)
- # cursive (13)
- # datomic (52)
- # dirac (2)
- # emacs (4)
- # figwheel (6)
- # hyperfiddle (13)
- # luminus (4)
- # nrepl (1)
- # off-topic (7)
- # onyx (9)
- # overtone (3)
- # parinfer (3)
- # pedestal (1)
- # re-frame (31)
- # reagent (74)
- # reitit (34)
- # rum (3)
- # shadow-cljs (51)
- # spacemacs (22)
- # specter (7)
- # tools-deps (23)
- # uncomplicate (3)
- # vim (9)
can it be used to eliminate circular references in for example a graph traversal for example
I have a logic expression as such - which traverses a child hierarchy. CHD stands for Child relation and RN stands for narrow relation
I think it is more like a performance optimization, if you have a goal that diverges it won't stop it from diverging
there is a correspondence between proof by induction and recursion, they both need a base case
it could be caused by cycle in something you are are traversing recursively, my very rough understanding of it is divergence == infinitely looping logic program
sorry if this is a very stupid question 🙂 - still learning the ropes of core.logic
yeah, != or some other goal that will fail on the one branch if the other branch is the one you want
I was wrong about tabling: https://github.com/clojure/core.logic/wiki/Features#tabling the docs say it will turn a non-terminating logic program in to a terminating one