Changelog 2024.11.15
This has been some of the most painful code I've ever written. Anyway, one can finally match on compound facts (see one of the examples). The compiler, of course, would have to wait, and may not be relevant in the end after all: I have doubts about implementing things that would make Kierre more comfortable to use as a "proper" programming language since I have full intention of turning it into some kind of formal verification tool.
We shall see how things goes.
Currently, the fact pool is "compiled" into some sort of generalized trie (see code here); this might become a problem in the future if we were to implement the Rete algorithm.