MCPat: Meta-Circular Pattern Matcher

MCPat stands for Meta-Circular Pattern Matcher. It is a lightweight mechanism for adding data directed pattern based execution to your software. The key to its flexibility is that it is meta-circular, that is, the expansion and compilation of the rules is defined in terms of rules. This allows a program to extend the MCPat compiler itself. Thus, while MCPat is by default geared to matching lists, a program can define special purpose syntax that describes matching arbitrary objects. In addition, MCPat also has a CLOS-based rule selection mechanism that a program can use to define the most efficient rule selection method for its own circumstance. The code is documented, and there is a test suite that demonstrates patterns and their execution.

License

MCPat is released under the BSD license.

Obtaining MCPat

Download the sources

MCPat is hosted on a subversion repository, here. The code is available for anonymous checkouts.

Support

Please email me if you have any questions. If the volume of emails becomes too large, I'll consider a mailing list and proper project hosting.

Copyright © 2006-2008 Sunil Mishra