4 ms·
Not to self-promote too much, but the main focus of my programming efforts is currently CLIPS. Over the past few years, I've written articles about and even mad
by ryjo 2y ago
Not to self-promote too much, but the main focus of my programming efforts is currently CLIPS. Over the past few years, I've written articles about and even made some fun projects with CLIPS:
* Stop Writing In-app Caches and Start Writing Inherently Cached Apps with CLIPS - https://news.ycombinator.com/item?id=33342959 https://news.ycombinator.com/item?id=33342959
* Conway's Game of Life Written in CLIPS - https://news.ycombinator.com/item?id=34428083 https://news.ycombinator.com/item?id=34428083
* A* Algorithm Written in CLIPS - https://news.ycombinator.com/item?id=34340212 https://news.ycombinator.com/item?id=34340212
* Run CLIPS in a C++ AWS Lambda - https://news.ycombinator.com/item?id=37322937 https://news.ycombinator.com/item?id=37322937
* Write a Ruby C Extension to Use CLIPS from Ruby: Part 1 - https://news.ycombinator.com/item?id=35708717 https://news.ycombinator.com/item?id=35708717
* Write a Ruby C Extension to Use CLIPS from Ruby: Part 2 - https://news.ycombinator.com/item?id=36461022 https://news.ycombinator.com/item?id=36461022
- jolt42 2y agoIs it possible to make a reasonable rules engine in Ruby rather than a "bolt-on" (separate rules language files)? I think its interesting that its the LISP languages that spawned rules-engines, and as far as I've seen, the only language that can produce a reasonable rules engine as an API library.
- ryjo 2y agoIs it possible: yes. Can you write your own home-grown rules engine in Ruby: yes. Can you use off-the-shelf gems: yes. Here's a few I poked around in my previous explorations into Ruby Rules Engines: * durable rules - https://github.com/jruizgit/rules?tab=readme-ov-file#ruby https://github.com/jruizgit/rules?tab=readme-ov-file#ruby * wongi - https://github.com/ulfurinn/wongi-engine https://github.com/ulfurinn/wongi-engine * rules - https://github.com/azach/rules https://github.com/azach/rules * ruleby - https://github.com/Ruleby/ruleby https://github.com/Ruleby/ruleby - bonus: video of original ruleby author explaining rules engines: https://www.youtube.com/watch?v=qMh2RDL6aBM edit: It's also possible to write your own Ruby gem in C so that you can pass the handling of the RHS of your rules to a Ruby script.
- kelseydh 2y agoDo these Ruby libraries actually implement the Rete optimization in control flow though?
- anthk 2y agoDoes it exist for Common Lisp/Scheme? I know that could be implemented in a day, but still... Edit: https://lisa.sourceforge.net/ https://lisa.sourceforge.net/
- lispm 2y agoThe precursor to CLIPS was called ART Inference and was a large commercial & very expensive Expert System development tool, written in Common Lisp. Unfortunately it seems to be lost - I haven't seen anything about it for several decades. Other than that there are a bunch of rule-based systems in Common Lisp. For example LispWorks Enterprise includes "KnowledgeWorks", which features a forward chainer based on the RETE algorithm. https://www.lispworks.com/products/knowledgeworks.html https://www.lispworks.com/products/knowledgeworks.html