Am 06.01.2017 um 21:52 schrieb John Cowan:


On Fri, Jan 6, 2017 at 3:08 PM, Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:

Does it make any sense to ask whether "include" is hygienic or not? "Include" takes strings as arguments, and strings are never renamed due to macro expansion. Or are there unorthodox interpretations of "include" I am not aware of.

It's about whether the included body is interpreted literally or is hygienically renamed in accordance with where it is in use.

So you mean whether in the following example the identifiers in "bar.scm" are closed in the syntactic environment of the site of the macro use, or of the macro definition site of foo?

(define-syntax foo
  (syntax-rules ()
    ((foo form)
     (begin
        ...
        form
        ...)))

...

(foo (include "bar.scm"))

--

Marc