This is not a question; are examples. Yesterday, Noah gave me an answer and
I tanks.

2012/4/25 Noah Lavine <[email protected]>
>
> Yes, that's right. And procedures at one level can always call to
> procedures at a higher level, but not the other way around.


;;; filename: called1.scm
(define (calling arg) (called arg))
(define (called arg) arg)
(display (calling 10))
(newline)

> Suppose there is a procedure to use another macro and definition of the
> > macro is after the procedure, is it illegal?
>
> Good question. I don't know the answer to that.


;;; filename: called2.scm
(define-syntax called (syntax-rules () ((_ arg) arg)))
(define (calling arg) (called arg))
(display (calling 10))
(newline)

In called1.scm, the order of calling and called are not a problem.
In called2.scm, called should be defined before calling.

Reply via email to