[Gauche-devel-jp] Re: Gaucheで契約による設計

アーカイブの一覧に戻る

Koji Ejiri eji****@s9*****
2006年 3月 7日 (火) 19:50:06 JST


> ;; 個人的には、define-aspectのマクロ展開でevalが入るのが
> ;; ちょっとむずむずします。識別子next-methodを挿入しなくちゃ
> ;; ならないのでsyntax-rulesだけでは展開できないのは仕方ない
> ;; ですが、それならdefine-macroでやってしまったほうが素直なような。

御指摘ありがとうございます :)

以下のように修正してみました.

 (define-macro (define-aspect method-name specs . body)
   (let ((expanded-method (expand-method <aspect-method> specs body)))
     `(define ,method-name ,expanded-method)))

こんな感じでよろしいでしょうか?

取り合えず次のリリースに入れてみました.
また何かあればよろしくお願いします.

--eji



Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る