[r6rs-discuss] R6 counterproposal

From: Felix Klock <pfr6rs>
Date: Tue, 29 May 2007 03:37:41 -0400

On May 29, 2007, at 3:04 AM, John Cowan wrote:

> R. Kent Dybvig scripsit:
>
>> Actually, the point is that they permit one to deal sensibly with
>> lexical
>> scoping at the source level. This not only simplifies the coding
>> of many
>> macros but also allows the definition of others that cannot be
>> written
>> with defmacro. For example, one can use syntax-rules and syntax-
>> case to
>> write macros that perform arbitrary code motion (e.g., define-
>> integrable)
>> without breaking lexical scope.
>
> I'm no expert on the subject and you are, but I don't see how
> there can be anything that define-macro cannot do, since it applies
> a Turing-complete language to arbitrarily large parts of the
> program.

See the following threads on comp.lang.scheme:

http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/
2625e02b3b055ebf/34ee370f00bc1c25?#34ee370f00bc1c25

http://groups.google.com/group/comp.lang.scheme/browse_thread/thread/
6a675abaa6f6319d/bf586299f6848fa7?#bf586299f6848fa7

There have been many similar threads on this subject, but these are
some of the shorter (and more coherent) threads that I was able to
find on the subject.

I have seen claims that there are standard extensions to defmacro
that restore the capability to write hygienic, referentially
transparent macros. I have also seen claims that the package system
of Common Lisp reduces the need for the features beyond gensym
(jayessay's post in the second thread above outlines this workaround).

This whole thing may already have an entry in a FAQ considering how
often the question comes up. (And if it does not, it should. . .)

-Felix
Received on Tue May 29 2007 - 03:37:41 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC