Gauche > Archives > 2012/01/06

2012/01/06 12:38:55 UTCgengar68@twitter
#
gosh> (sort-applicable-methods ref (~ ref 'methods) '())
internal error: couldn't determine more specific method.
#
と言われて落ちました.0.9.2です.
2012/01/06 12:41:01 UTCshiro
#
sort-applicable-methodsはcompute-applicable-methodsを通ったやつが来ることしか想定してなかったからだな。普通にエラー投げるようにします。
2012/01/06 12:49:06 UTCgengar68@twitter
#
(define-method ref ((self <hoge>) :optional x . args) 1)
*** ERROR: Compile Error: unbound variable: match:error
#
その前にもう一つ見付けたの忘れてました.エラーメッセージが妙です
2012/01/06 12:50:20 UTCshiro
#
あっそれはですね、理由はわかってるんですが面倒で直してなかったやつだ。この際やっちゃおうかな。
#
コンパイラをコンパイルする時にutil.matchを使ってて、マクロ展開結果にmatch:errorへの参照が入るんですが、実際にコンパイラが走る時点でutil.matchがロードされてないと未定義エラーになるのです。
2012/01/06 12:58:08 UTCgengar68@twitter
#
なるほどー.
2012/01/06 13:18:59 UTC齊藤
#
スロットに入ってる状態では特に順序通りには並んでないのでしょうか?
2012/01/06 13:34:01 UTC齊藤
#
あ、そっか、引数が与えられるまでは優先順位をつけられないんですね。