LISP Scheme

このエントリーをはてなブックマークに追加
510507
;ついでに、右から左への評価順序を強制するマクロ。(reverseしてるだけ)
(define-macro (rtol-args func . args)
 (let ((tmp (map (lambda (x) (gensym)) args)))
  `(let* ,(map (lambda (x y) (list x y)) (reverse tmp) (reverse args))
   (,func ,@tmp) )))