2008-11-01から1ヶ月間の記事一覧
INTERCAL は 1972 年に登場した難解言語 (esoteric language) の始祖とされる言語です。brainfuck や befunge のような難解言語に興味のある人なら、一度は聞いたことがあると思います。 しかし、INTERCAL について、「元祖難解言語であること」と Hello, wo…
dynamic-wind の before や after で例外が投げられたとき、どこの rescue を起動すべきだろうか。 Scheme の意味を見てみると、「その before や after が与えられた dynamic-wind の文脈」で例外がハンドルされるみたい。つまり enable_check = false ctn …
日曜日は池上線と目黒線。池上線は 8 時半から 12 時すぎまで、蒲田駅から五反田駅まで 10.9 km (歩きで 13.0 km) 。 目黒線は 12 時半前から 16 時半過ぎまで、目黒駅から日吉駅まで 11.9 km (歩きで 14.3 km) 。 こっちも個々の駅の印象はあまりないです。…
雨が降ったり体調が悪かったりで 2 週ほど飛びましたが、先週は土日で東急を歩きました。土曜日は大井町線と世田谷線。 大井町線は 8 時過ぎから 11 時半すぎまで、大井町駅から二子玉川駅までの 10.4 km (歩きで 12.6 km) 。 世田谷線は 12 時半前から 14 …
Ruby の callcc というと、 現在の Ruby の Continuation は欠陥品で、まともに利用できないシロモノです。具体的には、dynamic-wind 相当の機能がありません。 (略) ちなみに、dynamic-wind 相当の機能を入れるのは、拡張ライブラリを全部 callcc safe にす…
ref: http://d.hatena.ne.jp/mono-hate/20081119/1227100016おお、面白い。ブロックソートは全然知らなかったので、ぼくも書いてみた。 import Data.List (sort, tails, transpose, elemIndex) import Data.Maybe (fromJust) encode s = (succ $ fromJust $ …
callcc {|c| c } while true でメモリリークするという話題 (ruby-core:19846) をきっかけに ruby 1.9 の継続まわりのソースを眺めていたら、継続の作成と呼び出しで毎回 VM stack を丸ごとコピー *1 していることに気がつきました。 rb_thread_mark を見る…
glcaml という OpenGL の ocaml binding があったので、cygwin (というか mingw) で遊んでみようと思ったら結構大変でした。メモ。 1. ocaml を mingw 用にビルドする MinGW-based native Win32 port が公開されていますが、そのインストーラだと ...\Object…
11/11 はぼくの誕生日なわけです。 http://slashdot.jp/sp/binary2008/ そうそうたるメンバーにお祝いされた気分。
全要素が 1 以上の整数の列を受け取って、「その数を行番号とするスタックトレースを出力するプログラム」を出力するプログラムを書きなさい。 つまりこんな感じに動くもの。 $ ruby19 gen.rb 1 1 2 3 5 8 13 21 34 55 | ruby19 -:1:in `f1': unhandled exce…
ruby 1.9 は ruby 1.8 より eval が 3 倍くらい遅いというのは有名 (?) な話です。では、他の LL と比べてどうなんだろうと思ったので、比較をしてみました。 "1" を 100000 回 eval する eval の前処理と後処理にかかる時間の比較。 ruby 1.8 (trunk) : 0.2…
歩いたルートの記録と表示に ALPSLAB route を我慢しながら使ってきましたが、最近いくらなんでも落ちすぎ&遅すぎです。 入力点数が増えると、入力インターフェイスが遅くなる (昔から) 入力したルートをアップロードしようとすると、サーバ不調なので後で…
飽きもせず、土曜日に総武線を東船橋駅から佐倉駅まで歩きました。6 時から 17 時前まで。線路の距離で 30.3 km 、歩きの距離で 39.7 km 。東船橋駅から千葉駅までは南東に、千葉駅から佐倉駅までは北東に進みます。 東船橋駅を出て半分くらいのところに習志…