Click here to start

Table of contents

Efficient Rule-Driven Systems in Python

Part 1: The Rules We Live By

Rules Are Everywhere

Everywhere, I say!



Coding the Rules: Option 1

Coding the Rules: Option 2

Coding the Rules: Option 3

Predicate Dispatch - A better way

Correct and Efficient

Predicate Dispatch Applications

Papers on Predicate Dispatch

Part 2 - Implementing Rules with PyProtocols’ ‘dispatch’ package

Builds on the Chambers&Chen algorithm

Collection of Rules = Generic Function

Predicate + Body = Rule

Predicate + Body = Rule

Most Specific == Logical Implication

Refuse the Temptation to Guess

Implication Detection isn't (Quite) Perfect

Method Combination

Standard Method Combination

Custom Method Combination

Specifying Method Combination

Decentralized Rules -> Modular Extensibility

Past, Present, and Future (Bonus material)

Great Moments in Forgetfulness

When is it safe to forget about things?

The Evolution of Dispatch

Other Implementations

Predicate Dispatch without Generic Functions

Author: Phillip J. Eby