NEM This is the name of my rule interpreter library. It stands for the Game-Oriented Rule Engine, as it is designed to be a lightweight and fast pattern matching and forward-chaining rule engine (production system) suitable for doing game AI. It's based on the Rete algorithm, which is pretty standard, but with some minor alterations to improve the memory efficiency. You can get a paper and my undergraduate dissertation on the project from my homepage . At the time I implemented the library in C++. It was never released, however, as the code was buggy. I've recently begun a rewrite in pure ANSI C and hope to get it released within the next month. Naturally, it will come with a Tcl interface. If you're looking for something like this in the meantime, I'd recommend checking out CLIPS which can be used from Tcl, or SOAR if you want a more complete cognitive modelling framework. I also want to link up GORE with TOOT, as there are similarities between the pattern matching done for the rule engine and that done for Algebraic Types.