Considering the 4th edition of "Expert Systems: Principles and Programming" (The original book on CLIPS) is going for $300 at amazon, you are offering a good alternative.<p>I worked with Gary Riley and Joe Giarratano at JSC in the mid 80s when CLIPS was in heavy development. Joe had the unique ability to teach very technical topics with a special brand of humor.<p>Knowing CLIPs got me my first job in Silicon Valley / Los Altos in '88. Thanks Gary!
There is an interesting extension called FuzzyClips <a href="https://en.m.wikipedia.org/wiki/FuzzyCLIPS" rel="nofollow">https://en.m.wikipedia.org/wiki/FuzzyCLIPS</a><p>Unsurprisingly this is an attempt to meld fuzzy logic and KBS together.<p>Every now and then you hear of these things being deployed and saving someone millions in the process, but it proves remarkably hard to back it up.
Rate has been a secret sauce for a long time. Only described in an out of print magazine or very expensive books.<p>Today the open articles about it are much better. But for awhile, it was elusive.<p>One of the big advantages of Rete is the culling of the rule base that needs to be evaluated based on the working/changed data set. If you have a 1000 rules, and assert “age=35”, Rete will only select those rules that deal with age, for example.<p>I’ve been on several projects where a rules system was appropriate, but they never really needed more that a few hundred rules. So we just wrote simple engines that would take a soup of expressions, and keep running through them until the working set stopped changing.<p>There was a lot of expressiveness with the rules, making development much simpler, and it was fast enough to brute force its way through the rule space and get the results.<p>Larger rulesets or deeper ones (where there are a lot of derivative rules based on previous rule results) can certainly warrant the complexities of a full boat Rete system.<p>But a simple system can take you quite a long way on modern hardware.
Big fan of CLIPS! Rule based expert systems are so ubiquitous in business and scientific codes, yet a lot of devs are not even familiar with pattern matching let alone powerful rules engines like CLIPS.
Here's a java implementation of rete that I worked on about 20 years ago <a href="https://github.com/sgt101/zeus/tree/master/src/zeus/rete">https://github.com/sgt101/zeus/tree/master/src/zeus/rete</a><p>It might work!
Related. Others?<p><i>A Simple TCP Server Written in Go and CLIPS</i> - <a href="https://news.ycombinator.com/item?id=34187247">https://news.ycombinator.com/item?id=34187247</a> - Dec 2022 (1 comment)<p><i>Show HN: Tour of CLIPS</i> - <a href="https://news.ycombinator.com/item?id=33083169">https://news.ycombinator.com/item?id=33083169</a> - Oct 2022 (4 comments)<p><i>CLIPS: A Tool for Building Expert Systems</i> - <a href="https://news.ycombinator.com/item?id=19835214">https://news.ycombinator.com/item?id=19835214</a> - May 2019 (62 comments)<p><i>Symbolic Integration Using CLIPS (1997)</i> - <a href="https://news.ycombinator.com/item?id=15399391">https://news.ycombinator.com/item?id=15399391</a> - Oct 2017 (0 comments, but interesting)<p><i>Build Node-JS expert systems with node-CLIPS</i> - <a href="https://news.ycombinator.com/item?id=5424493">https://news.ycombinator.com/item?id=5424493</a> - March 2013 (1 comment)<p>Edit: since there has been so little discussion over the years, I've changed the top URL from <a href="https://ryjo.codes/articles/forgoing-implicity-using-the-algorithm-clips.html" rel="nofollow">https://ryjo.codes/articles/forgoing-implicity-using-the-alg...</a> to an article (suggested by ryjo) that gives more of an intro and overview.
MTG Arena, the new digital client for the Magic the Gathering trading-card game, uses CLIPS to implement the actual game-rules based on the English text of the cards. Magic cards are written using a very standardized language (look at custom-card communities and discussions around "templating"), but the fact that they've had such success with this approach is incredibly impressive to me.<p>It also leads to some really funny bugs that arise from grammar ambiguities - things like a card that says "[...] then put them into your hand" and the game losing track of what "them" refers to and putting _all_ the cards into your hand.
There is also Drools, another major Rete based open source rule engine. It is based on Java so its bit easier to work with for non-specialized developers, although it also inherits many downsides from Java too
The predecessor to CLIPS has been apparently kept in a building state[1]; I haven't tried it though.<p>1: <a href="https://github.com/sharplispers/ops5">https://github.com/sharplispers/ops5</a>
I have found 6 open source rule engines written in Python, all of them dead (in terms of recent commits), except maybe one:<p><a href="https://lab.abilian.com/Tech/Programming%20Techniques/Rule-based%20programming/" rel="nofollow">https://lab.abilian.com/Tech/Programming%20Techniques/Rule-b...</a>