This is the mail archive of the guile@cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]