Great, thanks!

On 01/26/2015 10:57 PM, Alexander D. Knauth wrote:
syntax/parse can do that:
#lang racket
(require (for-syntax racket/base syntax/parse 
syntax/parse/experimental/template))
(define-syntax quote-even
  (syntax-parser
    [(quote-even (~seq att val) ...)
     (template (list (?@ 'att val) ...))]))
(quote-even a 1 b 2) ; '(a 1 b 2)


On Jan 26, 2015, at 4:48 PM, Peter Samarin <petrsama...@gmail.com> wrote:

Hello all,

I want to quote every even and evaluate every odd variable of the input and 
assemble everything in a list.
So I wrote the following macro to do it:

(define-syntax quote-even
  (syntax-rules ()
    [(quote-even att val ...)
     (list 'att val ...)]))

But in the resulting list, only the very first attribute is quoted:

(syntax->datum
(expand-once
  '(quote-even a 10 b 20 c 30)))

(list 'a 10 b 20 c 30)

(quote-even a 10 b 20 c 30)
b: undefined;


Is there a way to do do it?

Cheers,
Peter Samarin
____________________
Racket Users list:
http://lists.racket-lang.org/users

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to