Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: upstream update from clara-rules 0.24.0 #496

Closed
wants to merge 89 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
afd749a
feat: initial commit removing cljs support and converting over to deps
k13gomez Dec 27, 2023
36d4283
chore: remove old project.clj file
k13gomez Dec 27, 2023
0c1ea12
fix: ensure buidl runs, add linter support
k13gomez Dec 27, 2023
fcff5c7
feat: ensure clean build deploy
k13gomez Dec 27, 2023
2478d16
fix: build add clojure and corretto jvm
k13gomez Dec 27, 2023
ec822d3
feat: use clojure
k13gomez Dec 27, 2023
5f8d726
feat: cleanup
k13gomez Dec 27, 2023
83306cb
feat: add pom file
k13gomez Dec 27, 2023
04ecb7a
chore: update ignore file
k13gomez Dec 27, 2023
c2986af
feat: dont delete pom
k13gomez Dec 27, 2023
892bf79
feat: make minor enhancements to cancelling cache
k13gomez Dec 27, 2023
c6e1dbe
feat: implement update cache using ham fisted mut list
k13gomez Dec 27, 2023
3a79d0a
feat: simply multiple equality wrappers into mostly single JEQ wrapper
k13gomez Dec 27, 2023
84b48ff
chore: formatting
k13gomez Dec 27, 2023
32192b0
feat: progress converting memory to mutable map/coll, add kaocha script
k13gomez Dec 28, 2023
8fa2b85
feat: remove unnecessary mutable flags and set statements
k13gomez Dec 28, 2023
1798006
feat: refactor elements and token fns using mutable map compute
k13gomez Dec 28, 2023
5f94ae0
chore: formatting and cleanup
k13gomez Dec 28, 2023
83fa452
feat: map persistent accum memory using compute
k13gomez Dec 28, 2023
281eef7
fix: lint deps
k13gomez Dec 28, 2023
fed0df7
fix: compute if present for remove accum
k13gomez Dec 28, 2023
9d0f22b
feat: update transient production memory ops using mutable ops
k13gomez Dec 28, 2023
67e0e57
feat: accum simplify using persistent strucs for results
k13gomez Dec 28, 2023
37eaa07
feat: memory tweaks to initialize nodes as persistent colls
k13gomez Dec 28, 2023
ac03512
feat: enhance compilter with hamf collections and update serialization
k13gomez Dec 29, 2023
1b3db0d
feat: add parallel processing support to various node types
k13gomez Dec 30, 2023
77f3174
feat: initial pass at poppping multiple activations for parallelization
k13gomez Dec 30, 2023
8abaa78
feat: first cut of parallel compute rhs activations
k13gomez Dec 30, 2023
c03f6f0
feat: add support for async rhs productions
k13gomez Dec 31, 2023
05fa0c0
chore: lint produce-try macro
k13gomez Dec 31, 2023
34f643d
feat: update pom
k13gomez Dec 31, 2023
cf3f864
feat: update docs
k13gomez Dec 31, 2023
f1b6ab6
fix: use correct build status url
k13gomez Jan 1, 2024
2090874
feat: update platform async patterns using futurama, prepare for release
k13gomez Jan 2, 2024
823512f
chore: update pom deps
k13gomez Jan 2, 2024
3ab4626
feat: async enhancements, add async tests
k13gomez Jan 2, 2024
3df55fe
chore: cleanup comments
k13gomez Jan 2, 2024
8463bd4
feat: add explicit async methods
k13gomez Jan 6, 2024
7f9e53b
feat: refactor fire rules into two separate async and sync handlers
k13gomez Jan 7, 2024
d74b0b9
WIP
k13gomez Jan 7, 2024
40b3e88
feat: refactor bound session and fire rules fns
k13gomez Jan 7, 2024
8f6770b
feat: disable rule order tests when doing parallel testing
k13gomez Jan 7, 2024
ac03bde
feat: update changelog and pom file for release
k13gomez Jan 7, 2024
a36ae24
feat: bump futurama to 0.3.8
k13gomez Jan 7, 2024
7be6dea
feat: add YourKit to README
k13gomez Jan 7, 2024
7645ec8
feat: bump futurama to 0.3.9
k13gomez Jan 7, 2024
302f99c
feat: add a built-in way to interrupt running session during rules
k13gomez Jan 8, 2024
c1faf0c
chore: release 0.9.3
k13gomez Jan 8, 2024
9afec6a
feat: update futurama lib version
k13gomez Jan 8, 2024
9cf439c
feat: update docs, explicit use async future for fire-rules-async
k13gomez Jan 9, 2024
1db3fbb
feat: async enhancements and add engine test with 10k async rules fired
k13gomez Jan 10, 2024
191c7b8
feat: update to latest async lib
k13gomez Jan 11, 2024
0db7edc
feat: update deps and format clj-kondo
k13gomez Jan 25, 2024
b45a54f
chore: update deps
k13gomez Jan 25, 2024
30f4c6c
feat: update pom deps
k13gomez Jan 25, 2024
f7db812
chore: fix futurama version in pom
k13gomez Jan 25, 2024
af3d083
feat: bump deps for release 1.0.0
k13gomez Feb 12, 2024
810b894
feat: initial major release 1.0.0
k13gomez Feb 12, 2024
98c7628
feat: bump futurama to latest version 1.0.1
k13gomez Feb 12, 2024
f3166f2
feat: release 1.0.2 with latest futurama version
k13gomez Feb 17, 2024
4bcea93
feat: implement custom caching support using core CacheProtocol
k13gomez Feb 19, 2024
58dc178
feat: update deps and change log and prepare for release 1.1.0
k13gomez Feb 19, 2024
d859436
feat: add support for a compiler cache which can cache exprs eval'd
k13gomez Feb 19, 2024
1e0c118
feat: don't include node id on compiled fns
k13gomez Feb 19, 2024
77f32e0
chore: set next dev version 1.2.0-SNAPSHOT
k13gomez Feb 19, 2024
2ea09cc
chore: update changelog and docs
k13gomez Feb 19, 2024
7b14dd7
feat: release 1.2.0
k13gomez Feb 19, 2024
eab3bcc
feat: enhancements of compiler hotspots using ham fisted mutables
k13gomez Feb 21, 2024
dfeee4e
feat: compiler class loading enhancements
k13gomez Feb 21, 2024
4ea3e1c
feat: prepare for release 1.3.0
k13gomez Feb 21, 2024
cf05a64
feat: update user ns
k13gomez Feb 21, 2024
0b40d90
feat: enhance caching performance by more predictable md5 caching and…
k13gomez Feb 22, 2024
e01304f
feat: enhance memory add-activations implementation by replacing get/…
k13gomez Feb 26, 2024
7506c0e
chore: remove deprecated either schema usage from compiler ns
k13gomez Feb 27, 2024
741707f
feat: extract way to build the production without adding to beta network
k13gomez Feb 27, 2024
a106cf1
feat: some more progress to support functions that are rules
k13gomez Feb 27, 2024
587a360
feat: change handler declaration to var, add var serde, add load sources
k13gomez Feb 27, 2024
271fa4f
chore: add useful user ns scribles
k13gomez Feb 27, 2024
a01d840
chore: run CI on all branches
k13gomez Feb 27, 2024
f897ad2
chore: minor enhancements for rule loading
k13gomez Feb 27, 2024
8d6ee9a
chore: prepare for snapshot release 1.4.0-SNAPSHOT
k13gomez Feb 27, 2024
07e0892
feat: store handler as symbol instead of var
k13gomez Feb 27, 2024
b27dc9e
feat: add coverage test to verify coverage works
k13gomez Feb 29, 2024
4b77d75
feat: upgrade clojure to 1.11.2 and fix clj-kondo linter
k13gomez Mar 8, 2024
bee29ff
feat: linter fixes
k13gomez Mar 10, 2024
b92f791
feat: implement hierarchy loaders, fact loaders, update deps (#2)
k13gomez Mar 10, 2024
364fa0f
chore: update deps
k13gomez Mar 11, 2024
0854469
Merge branch '1.3.3-hotfix'
k13gomez Mar 11, 2024
0d6a8ae
Merge remote-tracking branch 'upstream/main'
k13gomez May 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: update changelog and docs
  • Loading branch information
k13gomez committed Feb 19, 2024
commit 2ea09ccc7d43605c91a84a0f4e6a16e165f219fb
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
This is a history of changes to k13labs/clara-rules.

# 1.2.0
* Enhance caching support by adding compile caching using core CacheProtocol

# 1.1.0
* Enhance caching support by adding session caching using core CacheProtocol

Expand Down
5 changes: 4 additions & 1 deletion src/main/clojure/clara/rules.clj
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,10 @@

* :fact-type-fn, which must have a value of a function used to determine the logical type of a given
fact. Defaults to Clojure's type function.
* :cache, indicating whether the session creation can be cached, effectively memoizing mk-session.
* :cache, indicating whether the session creation can be cached, effectively memoizing mk-session,
valid values are true, false, or a wrapped CacheProtocol.
* :compiler-cache, indicating wether the expression compilation can be cached, effectively memoizing eval expr,
valid values are true, false, or a wrapped CacheProtocol.
Defaults to true. Callers may wish to set this to false when needing to dynamically reload rules.
* :ancestors-fn, which returns a collection of ancestors for a given type. Defaults to Clojure's ancestors function. A
fact of a given type will match any rule that uses one of that type's ancestors. Note that if the collection is ordered
Expand Down
3 changes: 3 additions & 0 deletions src/main/clojure/clara/rules/durability.clj
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,9 @@
Larger batch sizes should see better performance compared to smaller batch sizes.
Defaults to 5000, see clara.rules.compiler/forms-per-eval-default for more information.

* :compiler-cache, indicating wether the expression compilation can be cached, effectively memoizing eval expr,
valid values are true, false, or a wrapped CacheProtocol.

Options for the rulebase semantics that are documented at clara.rules/mk-session include:

* :fact-type-fn
Expand Down