[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Libraries and repositories

Paul, I think you're conflating (and confusing) two unrelated
concepts.  Hygiene is neither necessary nor sufficient for pattern
matching.  You can have hygienic macro systems that expose the
underlying list structure (almost all the way); likewise, you can have
pattern-matching systems that are not hygienic.  Furthermore, hygienic
systems permit unhygienic escapes, and pattern-matching macros often
permit s-expression manipulation.

SYNTAX-CASE, which is both hygienic and pattern-based, permits
hygiene-escapes and list manipulation with a minimum of fuss.  Indeed,
defining something like DEFMACRO in SYNTAX-CASE is itself a matter of
only a few lines.  For the most part, both patterns and hygiene are
extremely useful and don't get in the way, so SYNTAX-CASE optimizes
for the common case: a solid design principle.  And it permits escape
also with a few lines: another solid design principle.  So what's not
to like?