2005-09-01から1ヶ月間の記事一覧

Measuring the Impact of the Virtual Memory Manager in Linux (LSM 2005)

Linux て可変ページは full には使ってないのか…知らんかった Linux でも TLB の flush が大いの少ないのというのは頭痛のタネみたい。IPC が重要な primitive な L4 とはちょっと違う方向性でだけど、でも Hurd/L4 も kernel replacement としてちゃんと稼…

死にたい。

R5RS uim の debug 出力が uim.el にある (read rstr) の邪魔をしてるからなのでした。邪魔〜ーーーーー!!! o.... rz でもやっぱり Emacs の "uim.el を load 中に EOF に出くわした" っていう言い草は無いと思うよ、うん。まあ内部処理がちょっと分かったか…

Microkernel architecture での資源管理

uim.el は一旦休憩。もうちょっとで分かりそうな気配。がするときは大抵まだ先は長い。これを契機に、俄に Hurd への興味が復活してきたので、いろいろ読み耽る。Neal Walfield は、市場原理を模した資源管理を考えているらしい。これは面白そうだ。Prototyp…

まだ動かない

な ぜ だ ! なーんか uim.el に自分が入れたバグみたいな雰囲気なんだけど、もし emacs のバグだったら多分 buffer overrun 系。さぁ、どっちの方が確率高いでしょう。(顔 こういう内部がよくわかってないものを調べるときは gdb で追っかけるのが一番効率…

イタチごっこの悪寒。

uim

GCC 4.1 Release Series: Changes, New Features, and Fixes より。 -fwhole-program --combine can now be used to make all functions in program static allowing whole program optimization. As an exception, the main function and all functions mar…

本日の悲劇

未だに emacs を build できてないのだ。何故かって? Build 中に system がほとんど反応しなくなるから。で、いろいろ試して、あーでもないこーでもない、とやってたら:

Source を読もう (読みたくないけど)

しかし dpkg-src が 18 MiB て…

要望と進捗

とりあえず自分好みに 破壊 改良中。今のところ弄ったのはこれ。 nil check をいくつかの箇所に追加 startup 時の "OK" を読むところで: "OK" を search するように (ただの workaround) timeout をミリ秒で指定できるように read 一回ごとの timeout には u…

はてなの仕組

なんか日付の変わるタイミングが変だと思ってたら、何時に日付を変えるか指定する欄があったのか。気づかなかった。

勘どおり。

r5rs 版 uim が勝手にデバッグ情報吐いてたから "OK" の出力が見つからないのでした。Crash したのは、process descriptor の nil check が甘いから。 そんなわけで "OK" を読むまで loop するんじゃなくて、rex-search するように変更。Named-let が欲しい…

動かない。

uim-el 0.0.4 入れて emacs 起動したら "wait..." の表示でしばらく固まった後、wrong-type-argument で停止する。そもそも uim-agent が起動してないぽ。なんでじゃ。r5rs branch 版だからと思われるが…いかん、頭痛い。寝よう。Backtrace: Debugger entere…

ああ疲れた。

展開したら 150 KiB もあるよ。力、入れすぎだね。十数 KiB は Gauche の出力だけどね。二日ぐらいで apply はいじり終える予定だったんだけどね。っていうか Gauche 便利すぎ。もう他の言語には戻れない…(顔とりあえずこれで反応待ち。まだ commit しないで…

電磁場と座標変換

高三ごろに同じことで悩んだ覚えがある。結局諦めたけど、計算間違いじゃなかったのか…そこでもうちょっと自分を信じれば、っていうのは無理な相談。 しかし、いい加減高校レベルに毛が生えたような物理・数学もやり飽きたんですけど、いつからまともな現代…

頭が関数型言語に慣れてきた?

最近、「破壊的」という単語を見るとドキッとする。

Compilation と execution の分離

しかし今回の Shiro さんの指摘は「compiler 型のスゝメ」なのだろうか。いや、先方の意図がどうあれ、そういう風に心を動かされた。別に macro がどうとかいう話とは関係無しに前から気になっていたことでもある。太田さんは SigScheme を始めるときに comp…

マクロと internal define その 2

Shiro さんの指摘を受けて今朝考えを書いたときは支離滅裂に終わった(顔。というわけで再挑戦。

まだずっと apply

Dispatcher の wrapper 書いてて思った。Wrapper では (wrapper cons 1 '(2)) =>(1 . 2) なんて呼び出しには対応したくないし、するだけ無駄。だから apply とはまた違った semantics になる。ヤマケンさんの「APPLY とは呼ばないでほしい」というのはこの事…

Scheme scripting

amb てこういう使い方するもんなんだろうか。それ専用の (効率的な) 関数がありそうだけど、見当たらないし。assert っていうのは SICP でいう require。 (guard (exc ((eq? exc 'no-solution) #t)) (let ((type (amb "Syntax" "Procedure")) (args (amb "Fi…

そこに apply

ぷちぷちと虫取り中。一気に広範囲を変更しないと test も動かなかったので相応のバグが混入してる。やっぱり豊富な test は財産ですね。 その財産にも結構間違いが見つかったりするわけですが…(顔

ささっと読める + 動くものを仕上げるとは言ったものの…

変更範囲広いなー。R5RS にある syntax ほぼ全部…orzうーん、ちまちま書いてる横で着信する values 周りのコミットが気になる。;; 集中力ねぇな(顔 Gauche っぽい動作にしようとしてるみたい。でも test7 はよくないと思いますよー > ヤマケンさん。 テスト…

C たんハァハァ( ;´Д`)

C

ScmObj (*func)() = 略; ... switch (i) { case 0: return (*func)(); case 1: return (*func)(argbuf[0]); case 2: return (*func)(argbuf[0], argbuf[1]); ... case 5: return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4]); default: …

Scheme は scripting では使いものにならない。

つい美しく書こうと欲が出て全然書き進まないから(顔 ;; SICP とか見てばっかり

APPLY マクロの意図

最初にAPPLY() マクロがあった方がいいんでないのみたいな事を書いて、ちゃんと何がしたいのか説明してなかったので補足。現在、C コードから apply したければ (proc . args) なるリストを作って ScmOp_apply() に渡す必要がありますが、map や call-with-i…

FUNCTYPE_REDUCE

FUNCTYPE_2N の復刻版の名前を FUNCTYPE_REDUCE にした。λ算法的には正しいと思うけど、SRFI-1 のそれとは引数が違うから、ややこしいかな… でも FUNCTYPE_CURRY ってのもどうかと。FUNCTYPE_BINOP にした。これも変。めも: enum identifier の名前空間がど…

日付が変わって apply

Rest と固定引数の組み合わせが邪魔だなぁ。かと言ってどっちも省きたくないし。とりあえず、引数の組合せとそれを使うのが自然な関数をまとめてみた。

マクロと internal define

Shiro さんから突っ込みが入った。いつもあんまり考えてないところを小突いてくれるので非常に嬉しい。ありがとうございます。で、マクロ…マクロは…綿菓子ぐらいうすらぼんやりとしか考えてませんでした…(顔 どういう問題が起きるかはわかったのだけれど、必…

アトピーが痒くて寝れない。

うがー

しつこく apply

フラグが多くて組合せが爆発するよぉ… 現在、引数の組合せが実に 32 種類! アセンブラみたいにちょこちょこ臨機応変に積んでから call なんてことはできないから、これだけの呼び出しを全部書き下す必要がある。何かを間違えてる。絶対。 自由度高くしすぎか…

うっそぉ

C

GCC ってこんなんさせてくれるんや。知らんかった。 int g(double f); int f(int a, int b) { int (*ptr)() = g; goto *ptr; } Computed goto の一環か。でも吐いたオブジェクトコード見る限りではスタックフレームの処理が大丈夫じゃなさそうなんですが… っ…

茫然自失

麻婆豆腐作って冷蔵庫開けたら、冷たい飲み物がなかった。むしろ飲み物がなかった。