From: Tanaka Akira Date: 2004-09-20T12:00:50+09:00 Subject: [ruby-dev:24295] Re: Array#sort! with calcc dumps core In article <1095637322.024121.13298.nullmailer@x31.priv.netlab.jp>, Yukihiro Matsumoto writes: > ますから。2についても考えてみます。dynamic-windってどういう > 動作だっけ。 とりあえず google では Gauche のドキュメントが引っかかりますね。 http://www.kt.rim.or.jp/~kbk/guile/guile_23.html R5RS なら次の所にあります。 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html まぁ、導入するには予約語名が問題なんですかね。[ruby-dev:14494] それはそれとして思い出しましたが、現在の ensure は callcc で脱出した時 には起動しないので、これを dynamic-wind の after に対応させるなら変更 しないといけないですね。 % ruby -e ' callcc {|k| begin k.call ensure p 1 end } p 2 ' 2 あと、今回は qsort に再度入られることを防ぎたいわけですが、それをどう 指定するかというのも問題です。qsort の外側の継続をとっておいてそれを before から呼ぶか、例外を使うか、あるいはもっと他の方法を考えるか。 そして例外を使うなら、その例外はどこで rescue できるのかを考えないとい けないんだけど、Scheme には例外がないから参考には出来なくて... いや、 Gauche には例外があるか。 -- [田中 哲][たなか あきら][Tanaka Akira]