Gaucheいれた。

gosh> (define-syntax bar (syntax-rules ()
	((bar x y z) (if x y z))))
#<undef>
gosh> bar
#<macro bar>
gosh> (bar (p #t) (p 1) (p 2))
#t
1
1

ふむふむ。

gosh> (define-syntax (chain (syntax-rules ()
	((chain x ()) x) 
	((chain x y)(chain ((car y) x) (cdr y))))))
*** ERROR: Compile Error: syntax-error: malformed define-syntax:

だめか。
(chain 1 '(inc inc inc))が(chain (inc 1) '(inc inc)), (chain (inc (inc 1)) '(inc)), (chain (inc (inc (inc 1))) '()), (inc (inc (inc 1)))と変形されるのをやりたかったんだけどな。