fare-matcher is superseded by optima. It is very easy to migrate from fare-matcher to optima, and we recommend you stop using fare-matcher and adopt optima instead.

fare-matcher was written by Fare Rideau.
It extends CL with pattern matching much like ML or Erlang,
but in a way well integrated with CL,
and with the possibility of extending the core matcher
with arbitrary primitives.

It also includes a matching-friendly implementation of quasiquote, which makes it possible to match source code in an easy way. To use it, you may need to (eval-when (:compile-toplevel :load-toplevel :execute) (fare-quasiquote::enable-quasiquote)).