From pinterface at gmail.com Sat Feb 6 05:54:32 2010 From: pinterface at gmail.com (Pixel // pinterface) Date: Fri, 5 Feb 2010 23:54:32 -0600 Subject: [cl-unification-devel] MATCH* Patch Updates Message-ID: <031501caa6f0$dcb82d20$3100a8c0@trinity> Greetings all! Well, Marco, at any rate. =) I've pushed a few more patches to my darcs repo[1]. The most notable changes: 1. MATCH, MATCHF, MATCHING, MATCH-CASE, and MATCHF-CASE are all expanded by a single, unified function. Because it was trivial, I also added MATCH-COND, MATCHF-COND, MATCH-ECASE, and MATCHF-ECASE. 2. Documentation is, rather than being duplicated by hand, set per macro group. So MATCH and MATCHF share a single docstring; as do MATCH-COND, MATCHF-COND, and MATCHING; as do the -CASE macros. It seemed preferable to the possibility of copy-paste errors. 3. An (enable-template-reader) macro now exists, to selectively enable the template reader macro. This is handy in case of conflicts with other reader macros on #T (e.g., closure-html's). 4. If named-readtables is also loaded, creates a named readtable unify:template-reader. (in-readtable ...) is a beautiful thing. In spite of the extra control-flow macros, 1 and 2 ended up making match-block.lisp shorter than the version in CVS. Of course, that comes at the cost of the internal %match-expander function being hairy enough to warrant a 45-line docstring explaining the interaction between its arguments. ... I'll see about simplifying that. :) Still needs more tests, but it should be getting closer. [1] http://repo.kepibu.org/cl-unification/