I haven't updated the PyRete SVN repo for some time now. Mostly because I haven't really had any (working) code I wanted to share. But no more of that. Today I managed to compile:
>>> @prodsys.ruleinto a Rete Network. Seems to work as well ;-)
... def rule1(self, large = Large, medium = Medium, small = Small):
... if large(value == x, another == y) and \
... medium(value == y, another == z) and \
... small(value == z, another == x):
I'm not saying I'm done or anything. It'll probably take a while to finish all of the details and write test cases for all the relevant variants of rules that can be expressed but I'm hoping that most of the tricky parts have been sorted out. And since the public engine functions (reset, watch etc) already have been implemented once. I figure it's easy to port them to the new code. It'll probably be boring but it should be easy enough.