Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!cs.utexas.edu!samsung!usc!snorkelwacker!bloom-beacon!THINK.COM!gls From: gls@THINK.COM (Guy Steele) Newsgroups: comp.lang.scheme Subject: why is quasiquote necessary? Message-ID: <9006011846.AA15382@verdi.think.com> Date: 1 Jun 90 18:46:11 GMT References: Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 32 From: "Andrew L. M. Shalit" To: scheme@mc.lcs.mit.edu It occurred to me today that Scheme doesn't really need a quasiquote special form. Instead, quote could have just been extended to handle unquote and unquote-splicing. I can only think of two reasons for having both quote and quasiquote: 1) historical accident, because of the way the quasiquote special form was derived from a reader macro. 2) program readability. Some would argue that a large quoted piece of program text with a little bitty comma in the middle might be prone to misinterpretation (by humans). -andrew There are some effects that cannot be achieved using quasiquote only. Consider, for example, an idiom I find myself using frequently: `',x which means about the same as (list 'quote x). ``,x does not mean the same thing at all because the comma is captured by the inner quasiquote. --Guy