clara

http://www.clara-rules.org/
sparkofreason 2018-06-16T15:58:53.000069Z

Just a quick brain-bubble on this topic: I wonder if there could be a sort of "debug mode" where during fire-rules a graph is built for the causal relationships, e.g. Fact A -> Rule B -> Fact C -> Rule D... That graph could be analyzed for cycles. Haven't thought this through at all, and would guess it isn't perfect, but perhaps better than nothing?

alex-dixon 2018-06-16T16:36:22.000089Z

I think for Clojure :no-loop true can be provided in the properties map. I’ve heard it mentioned a couple times

2018-06-16T17:47:01.000039Z

@dave.dixon the thing is that it isn’t clear it is actually looping just because it goes through the same rule path a few times. RHS can do arbitrary logic. Including have different paths they may take via conditionals.

2018-06-16T17:47:44.000008Z

Some sort of general warnings could be nice perhaps that suggest that “maybe” there is a loop though

2018-06-16T17:50:09.000146Z

@alex-dixon yep. It exists. Don’t generally recommend it unless the use case really makes sense to use it.

2018-06-16T17:50:33.000037Z

Typically it’s best to solve the problems just purely via the logical TMS if practical.

sparkofreason 2018-06-16T17:52:49.000012Z

Yeah, it's another version of the halting problem. But it might be a nice way to get some visibility on the causal structure, and highlight loops that are unexpected.

2018-06-16T18:03:10.000032Z

Yes indeed