Thanks for reply. (require (for-syntax ...)) is what I actually needed. I don't know why I did not try this first , and I read the guide about this few hours back.
Just for information by adding #:omit-define-syntaxes in: (begin-for-syntax (struct proc-struct (name args loe) #:omit-define-syntaxes)) I get error : "expand: unbound identifier in module (in phase 1, transformer environment) in: proc-struct " But this works : (begin-for-syntax (struct proc-struct (name args loe) #:omit-define-syntaxes #:constructor-name make-proc-struct)) Thanks again Veer. On Thu, Apr 21, 2011 at 6:56 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote: > At Thu, 21 Apr 2011 18:34:45 +0530, Veer wrote: >> I still get error when i do >> >> (begin-for-syntax >> (struct proc-struct (name args loe))) >> >> error: " define-syntaxes: syntax definitions not allowed within >> begin-for-syntax ..." > > This is a limitation of the module system (which I hope to remove one > day soon). Work around it by adding `#:omit-define-syntaxes': > > (begin-for-syntax > (struct proc-struct (name args loe) > #:omit-define-syntaxes)) > > > You could also use `struct' in a separate module that is imported with > `(require (for-syntax ...))', but maybe you want to keep everything in > one module. > > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users