I put together another CLIPS library, this time for SQLite. Run SQL queries from within your CLIPS rules engine!
I put together another CLIPS library, this time for SQLite. Run SQL queries from within your CLIPS rules engine!
We have a "rules engine" in a database. Another application uses it for a specific task.
The rules are ranked just like a "search engine".
There's no real apparatus to regression test this thing when you update a rule.
Did it break another rule? I don't know. I can't manually test all possible permutations of each rule. That's what automation is for.
I need something .. to test all this.
Recommendations?
Feels like this is designed....bad
The latest release of clipsruby (v0.0.43) adds `matches` to the `Defrule` class. It lets your return information to determine how many patterns matched a give Defrule before a `run`. Also added is `get_activations_list` to the `Environment` class, which returns an array of `Activation` objects. Use `defrule_name` on those `Activation` objects to see exactly what's about to `run` in your rules engine!
It's been 1 week since I've released the first version of clipsruby to rubygems, and it has over 1.4k downloads!
v0.0.19 was just released, and it adds `get_fact_list`. This is similar to `find_all_facts`, but allows you to specify the Defmodule under which you wish to receive Facts. You also do not need to specify the Deftemplate for facts that you want to retrieve. This lets you just dump all of the Facts available in your Rules Engine!
Happy 4th of July, everyone! I'm spending my afternoon and evening with loved ones, but now I'm working on something really cool using CLIPSockets: https://github.com/mrryanjohnston/CLIPSockets
There's been a few ups and downs, and moments where I've had to scrap things and start all over again.
But it's finally coming together. I can't wait to show you all!
In the mean time, I have a few example applications implemented in that repo to see:
https://github.com/mrryanjohnston/CLIPSockets/tree/main/examples
defmodules are another reason why CLIPS is amazing. Your #rulesengine can change "focus" between defmodules, *each with its own rule network and working memory*.
You could have multiple "experts" in 1 system!
If you're familiar with "separation of concerns," this is that at the *programming language* level.
Feeling put off from integrating heavy-weight ai/ml systems into your own projects? Give the User's Guide a read: https://clipsrules.net/documentation/v641/ug641.pdf
"Remote calls are not services."
"If you have built a code generator, would you do it again?"
(NOPE)
".. SOA becames microservices..."
This talk resonates A LOT for me.
I'm not quite convinced I'd take his approach (vertical slices vs. layers) but its very intriguing.
new project sunday... the school rules engine.
i'm going to rewrite all of the logic for handling fediverse activities in kistec as rules, and then expose a simple ui for managing those rules so that users can more easily customize their instance. want to change what shows up in the timeline? no problem!