2007-08-11
■ [ruby] Binding.of_callerが1.8.5から動かなくなったのは
set_trace_funcのバグが修正されたためだそうです(私信)。
つまりBinding.of_callerは存在自体がバグだったらしいw
関数を抜ける直前にフック"return"が呼ばれるべきなのに、関数を抜けた直後に呼ばれていたという。
あとCレベルで実装しようとすると(例) 必要な情報を常に持ってないといけなくなるので、of_callerのためにそこまですべきか…という話になるらしい。
もう少しマシな実装として、&blockみたいに適当な記号(ここでは^とする)を使って
def foo(a, b, ^bdg) ...
みたいに書いておくとbdgに呼び出し元のbindingが入る…みたいな案はあったそうな(実装はされず)。
■ [prog] Befungeが来てる件
http://d.hatena.ne.jp/mayah/20070810/p1
とりあえず「カレンダーが書かれた言語」がesolang多すぎというのは突っ込むべきでしょうか(笑)。
2007年は「Befungeがブレイクした年」として(俺の)記憶に残りそうだ。
Befungeユーザ会作りたい。Befunge Users' Group = BUG か(ひどい)。