Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!gatech!udel!princeton!news.princeton.edu!blume
From: blume@dynamic.cs.princeton.edu (Matthias Blume)
Subject: Re: A proposal for #f and '() in the GNU extension language
In-Reply-To: bh@anarres.CS.Berkeley.EDU's message of 19 Nov 1994 15:48:23 GMT
Message-ID: <BLUME.94Nov19142656@dynamic.cs.princeton.edu>
Originator: news@hedgehog.Princeton.EDU
Sender: news@Princeton.EDU (USENET News System)
Nntp-Posting-Host: dynamic.cs.princeton.edu
Organization: Princeton University
References: <39l7er$q02@wsiserv.informatik.uni-tuebingen.de> <3adev3$k2b@larry.rice.edu>
	<3admpl$4fh@agate.berkeley.edu> <OZ.94Nov18213733@nexus.yorku.ca>
	<3al6o7$p8p@agate.berkeley.edu>
Date: Sat, 19 Nov 1994 19:26:56 GMT
Lines: 23

In article <3al6o7$p8p@agate.berkeley.edu> bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:

   Okay, by all means, what's the story?  How did we get from ()=#f to not,
   from set to setq, from eval-twice to a macro system whose description is
   as long as the rest of R4RS, etc.?

Is anybody else getting extremely tired like me of having to listen to
all this whining about hygienic macros?

It is true that the appendix in R4RS is long and complicated, but this
is because it tries (rather unsuccesfully, IMO) to not only describe
the high-level system, but also a low-level mechanism.

I am 100% sure that it takes about half a page to define R4RS
high-level hygienic macros.  And Jonathan Rees' paper ``The Scheme of
Things: Implementing Lexically Scoped Macros'' is just seven pages
long -- including bibliography.  Not only does it give wonderful
insight into how the hygienic macro expander works -- no -- it does so
by giving a 1-page long *implementation* (at least the essential part
of it) in Scheme.

--
-Matthias
