This is the mail archive of the
guile@cygnus.com
mailing list for the Guile project.
Re: Reintroducing old `defined?'
Russ McManus <russell.mcmanus@gs.com> writes:
> > It is my strong opinion that we should aim at having a hygienic
> > macro system and remove the other macros entirely. The best
> > candidate is Dybvig's syntax-case macros which is a superset of the
> > R5RS macros.
>
> You can take my defmacro's when you pry my cold, dead fingers off the
> keyboard.
:) There will be a time for that debate when we have a low-level
implementation of syntax-case macros, but here is some PR:
Actually, in the large majority of cases it's *much* simpler to write
syntax-case macros than defmacros, and what is great about them is
that they work. They don't cause strange unexpected errors due to
identifier collisions.
Many people got scared of hygienic macros after seeing the low-level
macro facility in R4RS. In addition to providing the easy-to-use
high-level facility from R5RS (`syntax-rules'), syntax-case macros
also support *easy-to-use* low-level power!
Also, syntax-case macros integrate naturally with a
module-system---they don't insert undefined bindings into the caller's
code.