+THIS LIBRARY IS BEING DEPRECATED IN FAVOR OF OPTIMA.
+PLEASE USE OPTIMA INSTEAD.
+ https://github.com/m2ym/optima/
+
I've decided to consolidate pattern matching libraries.
+ http://fare.livejournal.com/169346.html
Optima is a much better library than fare-matcher,
which was a proof of concept, really.
#+xcvb (module (:depends-on ("packages")))
#| "
-This software is now being packaged for use with asdf-install.
+THIS LIBRARY IS BEING DEPRECATED IN FAVOR OF OPTIMA.
+PLEASE USE OPTIMA INSTEAD.
+ https://github.com/m2ym/optima/
+
The homepage for this software is
http://www.cliki.net/fare-matcher
In case you want the latest version of the software, check the git repo at:
software license, they only deserve scorn. But even that, they may do!
-
See examples of use at the bottom of the file,
and in other files in this repository.
Help wanted in writing documentation.
(I'd help you write it by answering your questions.)
-Install this package with:
-(asdf-install:install :fare-matcher) ; XXX FIXME
Use this package with:
(asdf:oos 'asdf:load-op :fare-matcher)
" |#
(bar a b c d e))
The pattern might look heavier, because we match forms with an explicit
constructor in the head of a pattern, instead of matching nested lists as is,
-with a few known "magic" values like &rest to introduce special behaviour.
+with a few known "magic" values like &rest to introduce special behavior.
But this design is precisely what makes the pattern matching more expressive:
it makes the pattern language more regular, it makes it match
the programming language, and most importantly, it makes it *extensible*.