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

Re: [Scheme-reports] What happened to (UNQUOTE <expression> ...)

On Wed, 4 May 2011, Andrzej wrote:

>>> 1. (one I mentioned before) Is it just me who thinks that it is a bad
>>> idea to have same quasiquote forms expand correctly in one context and
>>> fail in another?

I sympathize with some of the discomfort with multi-argument UNQUOTE/SPLICING, 
and maybe something better can be done (actually what Al* Petrofsky did is 
probably more elegant).  However, I don't think a standardization document is 
the appropriate place for innovation - after all, it was innovation in the R4RS 
definition of QUASIQUOTE that got us into this mess in the first place.  They 
just didn't notice that the defintion they wrote was subtly broken.

The Chez solution to this problem (multi-argument unquote) has been in use for a 
number of years by several large implementations.  It has he advantage of being 
backwards compatible - existing programs not using multi-argument unquote 
will not be broken.  The macro is nontrivial but has been thoroughly debugged 
and tested over the course of years and can be copied and pasted into any 
implementation, so the cost of adopting it is zero.  And the 
specification has already been written for R6RS and can be copied and pasted 
from there into the WG1 standard, again ast zero cost,  if the editors so 
decide.  It is my opinion that this is the best choice that can be made at this 

Scheme-reports mailing list