Is this (rough sketch) supposed to work:

(define (process form)
   ... do something with form ...)

(define-syntax foo
   (lambda (form)
      (syntax-case form ()
         ((_ . f) (process form)))))

(foo ...)

I.e. can a syntax-case macros make use of a function
define in the same module or top-level?

It seems that we *want* this to be well-defined.
However, reading the "Expansion process" in Chapter 10
doesn't explain how.  It says:

define form
     The expander records the fact that the defined identifier is a
     variable but defers expansion of the right-hand-side expression
     until after all of the definitions have been processed.

That implies that the macro-expansion of foo would call the
unexpanded function process.

What is the *real* intended expansion process?
-- 
        --Per Bothner
[email protected]   http://per.bothner.com/

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to