2009-03-01から1ヶ月間の記事一覧

Scm_VMCallCC (13)

save_env の退避なあたりを復習。

lenny で日本語入力メソド微妙

いやはや直った。わしは anthy より skk が手に合ってる、というかそもそも日本語入力できてなかったんですが、いきなり shift+space で IM 起動。gdgd 試験してたんですが、それが悪かったのでしょうか (を uim と skk で google 先生に聞いてたはずなんで…

とほほ

いつも firefox を強制終了 (ってかいきなりログオフ → 電源遮断) して横着していつも見るコンテンツを、な今日この頃だったんですが間違えて無意識に開いていたコンテンツを無碍にしてしまった。 日が悪い、というのはこーゆー最悪なソレが連発するんですな…

Scm_VMCallCC (12)

ちょっと今日も色々とばたばたしたので進捗は微妙だと思います (を

Scm_VMCallCC (11)

VMのスタック操作の_環境のセーブ_の項。以下の記述あり。 lambda フォームによりクロージャが作成されると、その時点で環境フレームのリストを、env ポインタから順に手繰ってヒープにコピーする。 CLOSURE 認定なソレからそんな処理は見えんがのぅ、と言い…

lenny アプグレイド

firefox が gtk のバージョンとかの問題でアプグレイドできず。だんだん使い勝手的にあり得ないレベルになってきたので、ぶちキレて dist-upgrade 着手。ってか init 1 したまんまコマンド投入して寝ただけなんですが ...

Scm_VMCallCC (10)

次は末尾呼び出し。こんなカンジを例に。 gosh> (disasm (lambda () (fold + 0 '(1 2 3)))) main_code (name=#f, code=0x80f8ec0, size=8, const=3, stack=6): args: #f 0 GREF-PUSH #<identifier user#+>; + 2 CONSTI-PUSH(0) 3 CONST-PUSH (1 2 3) 5 GREF-TAIL-CALL(3) #<identifier user#fold>; (fo</identifier></identifier>…

Scm_VMCallCC (9)

なんか昨晩のエントリはへろへろ杉で最後らへんに書いてるソレが微妙。多分ポインタなんですな、という事が言いたかったのではないかと。

Scm_VMCallCC (8)

今日も途中で力尽きそうなんですが、少しだけでもとゆーコトで。 昨晩 のナニをもう少しきちんと確認。VMのスタック操作の通常の関数呼び出し、なソレ。昨晩のナニを踏襲します。disasm したナニが以下。 gosh> (disasm (lambda () (fold + 0 '(1 2 3)) #t))…

Scm_VMCallCC (7)

VMのスタック操作を色々見てます。disasm でインストラクションをナニしてみる方向で色々試すも、良い例に行きあたらず。

Scm_VMCallCC (6)

ええと、昨晩なエントリのインストラクションの並びでスタックとかの状態遷移を確認してみます。

Scm_VMCallCC (5)

ええと、件の手続きですが作文不能な状態みたいなのでポイント列挙でとりあえず。

ブログ

先日、同僚な方に 10 年くらい、ってフイてしまいましたが、ここ借りる前に livedoor なナニを借りたのが 2003 年末なので、それほどでも無いコトが判明。 とりあえず、そーゆーコトです。(何

Scm_VMCallCC (4)

誰かに進捗状態報告しなきゃいけない && 進捗してないと誰かに迷惑がかかる訳ではないのでアレなんですが、少しでも手を付けとかないと忘れてしまうので (何

ぐわ

どうも腰椎捻挫な模様。しかも可動域がだんだん狭まっているような気が ...

Scm_VMCallCC (2)

の前に以下の一連のナニを復 (予) 習。 3 PRE-CALL(1) 9 5 CLOSURE #<lambda 0> ; (lambda (c) (set! cont c) 4) 7 PUSH-GREF-CALL(1) #<identifier user#call/cc>; (call/cc (lambda (c) (set! cont c) 4)) 9 PUSH以下にポイント列挙</identifier></lambda>

Scm_VMCallCC (3)

ちょっとハードル高し。微妙なポイントとしては save_cont 手続きで何してるか ScmEscapePoint 型の役割 継続手続き関連 Scm_VMCallCC 手続きの中の変数としては、contproc が継続手続きな模様 ReadingGauche な場所を使って掘ってみようかな。

とほほ

なんか掘り進むにつれ、どんどん微妙な方面にツキ進んでいるような気がします。とりあえず保留になってるナニを列挙しとく。 そもそも何故に call/cc とか見てるんだっけ、と思ったら dynamic-wind が発端だった。 gencomp 関連 let-args とかを macroexpand…

Scm_VMCallCC

どんどん標題が変わる。昨晩エントリにて vm.c の Scm_VMCallCC 手続きに行きあたったのは src/stdlib.stub に以下な記述があったから。 (define-cproc call-with-current-continuation (proc) (call "Scm_VMCallCC"))現時点で上記の記述の意味は不明。 # な…

とほほ

firefox がカタマる。そろそろ lenny にしようかなぁ ... # firebug のせいなのかどうか

test/dynwind.scm (4)

今日もへろへろ気味なんで微妙かも。昨晩の続きなんですが ;; continuation invoked while inline procedure is prepared. ;; a test to see call/cc won't mess up the VM stack. (define (callcc-test2) (let ((cc #f) (r '())) (let ((s (list 1 2 3 4 (c…

test/dynwind.scm (3)

昨晩、自宅対応なお仕事 (しかも緊急) な割り込みを受けつつへろへろながら投入したエントリにて以下の試験がよく分からん、と書きました。 ;; continuation with multiple values (test* "call/cc (values)" '(1 2 3) (receive x (call-with-current-contin…

test/dynwind.scm

タイトルがどんどん変わります。とほほです。

test/dynwind.scm (2)

なんだこれは。こんな試験がある。 ;; continuation with multiple values (test* "call/cc (values)" '(1 2 3) (receive x (call-with-current-continuation (lambda (c) (c 1 2 3))) x))

call/cc リハビリ (3)

昨晩、call/cc に入った所で腑に落ちない部分にぶち当たり、力尽きてました。

Debug Hacks

即買いで間違いなし。早く出ないかなぁ。 twitter 経由で情報入手 4 月下旬発売予定との由。

dynamic-wind (2)

そもそも call/cc リハビリしてたのは dynamic-wind の実装例が云々がトリガだった。がしかし、call/cc と dynamic-wind の関連が分からん。dynamic-wind と call/cc で google 先生に聞いてみたら以下が出てきた。 http://d.hatena.ne.jp/higepon/20080812 …

call/cc リハビリ

ええと Dybvig 先生の dynamic-wind の実装なサンプルに call/cc が出てくる。後天性記憶不全にて、call/cc が全然イメージできてない状態になってます。仕方が無いので一年前にココ (使いたい人のための継続入門) で勉強しているログを見たんですが、ログの…

call/cc リハビリ (2)

げ。いきなり答えが書いてある。 (* 2 (call-with-continuation-procedure (lambda (* 2 a)) (lambda (cont) (cont (fact 10)))))と書く代わりに、call-with-continuation-procedure式の返りを待っている続きの計算、つまり(lambda (a) (* 2 a))を自動的に取…

amazon にお願いしていたナニが

着信。本を久しぶりに買ったような気がします。 Linux デバイスドライバプログラミング