海野秀之(うんのひでゆき)の外部記憶
Twitter (twilog) / RSS / アンテナ / ぶくま
練習問題含めてみっちり精読するスレッドと、どんどん読み進めるスレッドを並列させているんだけど、 もっか読み進めるのが面白くて止まらない。4章なんて、冒頭読むだけでわくわくする。 なんだ!おれはこんなに面白い本をいままで知らずに生きてきたのかぁ!!
ふと、Ruby で amb 実装している人いるかなぁと思ってググってみたら、 やっぱりいた。
そういえば、Ruby における継続については matz さんが気になることを書いていたなぁ と思って検索したが、みつからない。嗚呼、ケイゾクでしたか。
忘れてしまわないうちに、もういっこクリップ: [Ruby] Visualization of Ruby's Grammar (Matz にっき)
私は、Ruby 文法の主張がけっこう好きです。 「おれは人間だ!yacc なんぞに思考を規定されたくないんだよ!」 という声が聞こえてきそうなところが。
parse.y が ugly なのは、むりやり yacc で記述したからというのはその通りだと思う のですが、では、Ruby の文法はどういう言語クラスに属しているのか、 そういう言語を記述するのにふさわしいメタ言語はどんなの?とか。
あんまり関係ないけど、call/cc を初めてみたら cc => condition code と連想しません? subcc みたいな。
散発ながら、トラックバックスパムが鬱陶しくなってきたので、 LinkcheckFilter をいれてみた。
イントラ内の環境からトラックバックを打ってみる。 LinkcheckFilter で open_uri に失敗してはじかれるのを期待。 無視されるんだけど <error>0</error> が返るのを期待していたら、
<?xml version="1.0" encoding="iso-8859-1"?> <response> <error>1</error> <message>getaddrinfo: No address associated with hostname</message> </response>
が返ってきたのでちょっと意外(←未熟者!
そっか、コンストラクタ内で open の例外がキャッチされ、@error に設定→ eval_rhtml の冒頭で @error が検査されて raise TDiaryTrackBackError ですね。なるほど。
あ、いやぁ、ちがうかな。LinkcheckFilter 内の open での例外だったら、すぐにキャッチされて return false か。しまった。
←タイムアウト例外しかキャッチしていない。