[plt-scheme] module question
Hi, The difference between the following two pieces of code puzzles me:
(define-syntax a (syntax-rules () ((a) 'a)))
(module b mzscheme
    (provide b)
    (define-syntax b (syntax-rules () ((b) (a)))))
(require b)
(b) ; --> a
BUT
(module a mzscheme
    (provide a)
    (define-syntax a (syntax-rules () ((a) 'a))))
(require a)
(module b mzscheme
    (provide b)
    (define-syntax b (syntax-rules () ((b) (a)))))
(require b)
(b) ; error: reference to undefined identifier: a ---> arrow to 
identifier a 
in module b
Of course the problem does not arise if in the second example module 
b 
includes (require a), which it should, I think. Nevertheless the 
difference 
puzzles me. Can you explain this?  I did this with Textual MzScheme 
version 
301.14-svn10may2006.
((((lambda(x)((((((x x)x)x)x)x)x))
   (lambda(x)(lambda(y)(x(x y)))))
  (lambda(x)(write x)x))
 "greetings, Jos")