[racket] How to use structure inside define-syntax ?

From: Veer (diggerrrrr at gmail.com)
Date: Thu Apr 21 09:04:45 EDT 2011

Thanks for reply Jos.

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 ..."

Sorry , if this is not what you meant.


On Thu, Apr 21, 2011 at 6:06 PM, Jos Koot <jos.koot at telefonica.net> wrote:
> Wrap the definition of the struct in begin-for-syntax.
> Jos
>
>> -----Original Message-----
>> From: users-bounces at racket-lang.org
>> [mailto:users-bounces at racket-lang.org] On Behalf Of Veer
>> Sent: 21 April 2011 14:22
>> To: users at racket-lang.org
>> Subject: [racket] How to use structure inside define-syntax ?
>>
>> How do I use  structure's constructor in define-syntax .
>>
>> I want to do something like this :
>>
>> (struct proc-struct (name args loe))
>>
>> (define-for-syntax (process ps)
>>   #'#t)
>>
>>
>> (define-syntax (procedure stx)
>>   (syntax-case stx ()
>>     [(_ name args e1 e2 ...)
>>      (process (proc-struct #'name (syntax->list #'args) (syntax->list
>> #'(e1 e2 ...))))]))
>>
>>
>>
>> (procedure abc (x y) 2 3)
>>
>>
>> Is there something like struct-for-syntax ?
>>
>> Thanks
>> _________________________________________________
>>   For list-related administrative tasks:
>>   http://lists.racket-lang.org/listinfo/users
>
>



Posted on the users mailing list.