precept
precept copied to clipboard
A declarative programming framework
deps.edn of: ``` {:deps {com.cerner/clara-rules {:mvn/version "0.18.0"} precept {:mvn/version "0.4.0-alpha"}}} ``` Running `clj`: ``` Clojure 1.9.0 user=> (require 'precept.listeners) WARNING: qualified-keyword? already refers to: #'clojure.core/qualified-keyword? in namespace: clara.rules.dsl, being replaced...
Yesterday, @mikegai had a very fruitful discussion with me about significantly enhancing the performance characteristics of Precept for certain operations without compromising its declarative language. This is intended to be...
When we have attributes that share the same namespace, e.g.: ``` :explanation/rule :explanation/bindings :explanation/facts :explanation/matches ``` it would be handy to match on "explanation". We do not currently allow this....
The default fact-type function constructs a hierarchy where all fact types are descended from `:all`. This should instead be a namespaced keyword (e.g. `precept.spec.fact-type/all` to avoid surprises and potential conflicts...
- [ ] Investigate whether Clara supports this - [ ] If Clara supports it, investigate changing our syntax. Boolean conditions presume a positional tuple expression or another boolean expression,...
Thanks to @Nolan330 for bringing this to our attention. https://github.com/CoNarrative/precept-template/pull/3 Not sure how other frameworks deal with this but seems we should have scripts that ensure a particular version of...
I don't believe we've specified an accumulator is required in the same LHS as the entities macro but it appears to be. A Clara schema validation error is thrown when...
The subscriptions we generate from rules are basically subscriptions to queries. Going forward they may play an even more prominent role in the framework than they do now. With this...
This may be our first breaking change. The DSL is not grammatically consistent. For one, the syntax within `:or`, `:and`, `:not` and `:exists` blocks is not currently the same the...
Logged in https://github.com/cerner/clara-rules/issues/320. Awaiting response. Currently writing to STDERR in Clojure. Everything working fine in CLJS.