2010年6月26日土曜日

Re: pushマクロ

pushマクロ

を、syntax-caseを使って書くと、かなりシンプルになった。

(define-syntax push
  (syntax-rules ()
    ((_ x (f y))
     (let ((g y))
      (set! (f g) (cons x (f g)))))
    ((_ x lst)
     (set! lst (cons x lst)))))

0 コメント: