Gauche > Archives > 2013/04/23

2013/04/23 00:08:53 UTCyamasushi
#
<procedure>の名前はinfoスロットを見るのだろうと思うのですが、文字列だったりシンボルだったりしているのです。名前を見る方法があるのでしょうか?(また、無名かどうかの判定法など。)
2013/04/23 00:27:09 UTCshiro
#
procedure-infoの仕様はまだ確定しておらず、将来変更される可能性が高いです。今のところ、SUBR(Cで実装された手続き)だと文字列、Schemeで実装されたトップレベル手続きはシンボル、ネストしている手続きの場合はトップレベルからの名前のリスト、メソッドは名前とspecializerのリスト、case-lambdaの場合はもっと複雑。名前がコンパイラに判定できなかった箇所は#fが入ってます。Schemeでは仕様上は全て無名関数ですんで、名前はあくまで参考です (最初にトップレベルに束縛された時の名前、等)
2013/04/23 02:17:34 UTCyamasushi
#
なるほど。export名とセットで処理すればいいことに気づいたので、そのようにします。