I do have a cludgy fix for this but are in search for a better solution.
consider the problem:
(define-syntax-class a (pattern (1 x:b)) (pattern ()))
(define-syntax-class b (pattern (2 x:a)) (pattern ()))
the syntax class definitions above would expand to something like
(begin
(define parser-a code-a ...)
(define-syntax a spec-a))
(begin
(define parser-b code-b ...)
(define-syntax b spec-b))
In racket they manage to evaluate the define-syntax forms before the define-forms cause in the expansion
of code-a amd code-b they need the spec's spec-a and spec-b.
Do you have any ideas how solve this. I do have a fix for problem but it is not easy to use.
/Stefan