Entries from 2008-02-01 to 1 month

Y!トップ

Yahoo! JAPANトップページの全機能をご利用いただくには、以下の環境が必要となります。 と出るようになってしまった。Firefox 2.0.0.12@Ubuntu。 以前もしばらく出ていて、その後出なくなったんだが。 追記 直りました。idコールで教えてくださった方ありが…

letrec の実装 - Scheme VM を書く

letrec は教科書的には (letrec ([a (lambda () ...)]) (a)) => (let ([a (if #f #f)]) (set! a (lambda (() ...))) (a)) という式に変換できる。((if #f #f) は undef の取り出しです。) いままでは letrec の実装はまさにコンパイル前にこの変換をかけて…

letrecとdisplay closureの関係になやむ

letrecとdisplay closureの関係になやむ。 Gauche のcompile.scmにおける letrec の扱いを読んでみるか。 ;; LOCAL-ENV-CLOSURES(nlocals) <codelist> ;; Used for letrec. ;; Similar to LOCAL-ENV, but this doesn't use the current arg frame. ;; The operand cont</codelist>…

じっくりお話してみたい人リストを作ってみた

会ってじっくりお話してみたい人のリストを作ってみました。→ひげぽん/会ってお話してみたい人 (お会いしたことはあるけど少ししか話したことがないという方も含んでいます) こんなリストを書いたきっかけはid:hayamizさんが、僕とid:g000001さんに会って…

む?

自分の日記の広告に、「お金がない人のための・・・」「生活が苦しい」的な広告が。 お金なさそうな記事書いたっけ?

今日は少なめに

スタバで2.5時間ほど設計やコーディング。 letrecのコンパイルや、label, jump について考える。 体調が万全ではないので家で読書でもしてゆっくりする。

大学生2人の会話

スタバにて文系大学生2人の会話。(多分経済学部の学生) A君「あれだよ。31才までにキャリアを積んでおかないとダメだよ。32では遅い。」 B君「だよな。俺も今からがんばろう。」 32進数?16進数? 関係ないけど H社のO君(Oさんではない)に激似の女性発見…

Gauche pass3 メモ - $CALL

関連記事。 Scheme処理系 Gauche の最適化まとめ前編 Scheme処理系 Gauche の最適化まとめ後編 コメントの訳 $CALL $CALL ノードにはいくつかのバリエーションがある。それらには更に tail-call 版と non-tail-call 版があるだろう。 1. Local call: 'local'…

片目の猿を読んだ

道尾秀介の片目の猿を読んだ。かなり空回りぎみの展開。でこぼこするので好きではなかった。

浅草周辺めぐり

御徒町から浅草をめざし散歩。道を間違え浅草橋に。もう負けでも良いので浅草線で浅草へ。 仲見世、雷門、浅草寺とメジャな場所を制覇し、ほくほくの人形焼きを食べる。その後隅田川を渡り隅田公園へ。公園自体は素敵なのだが雰囲気が悪い。 仲御徒町で寿司…

これはひどい経営者

札幌市の食堂で住み込みで働いていた知的障害のある32〜51歳の男女4人が13〜31年間、無報酬で劣悪な生活を強いられ、07年6月に保護されていたことが13日わかった。労働時間は1日十数時間で休日は月2回。食事も満足に与えられなかったという…

そういえば etags はSchemeに対応していた

C++のタグジャンプには global を愛用中。 Scheme は対応してなくてしょんぼりと思ってたのですがよく考えれば etags が普通に Scheme に対応してた。 特定のファイルを編集したら自動で TAGS を更新するように emacs lisp をちょこちょこして環境を整えた。…

東京タワー

前回は散々だったのでリベンジ。まだ三脚は買えていません。 会社の帰りに寄りました。

友近

中目黒駅前で友近さんを見かけました。

℃-uteかわいいよ ℃-ute

(cute cons (+ a 1) <>) ≡ (let ((xa (+ a 1))) (lambda (x2) (cons xa x2)))

NB: とは

Gaucheのソースコードを読んでいて NB: というのが出てくるので気になっていたので調べてみた。 ;; NB: proc is evaluated every iteration. Intended it to be a lambda form, ;; so that its call is inlined. 「nota bene」の略がNBで よく注意せよという…

背の眼を読んだ

先日読んだ道尾秀介氏のシャドウがとても面白かったので背の眼を読んだ。 やはり道尾秀介氏は本物だと感じた。普段読んでも特に日記で言及しない別の作家達とは違う。 ただし個人的に残念なのが ストーリーを通して霊現象の存在に肯定的なこと あまりに京極…

Gauche 0.8.13がリリース

Gauche 0.8.13がリリースされましたね。 詳細はGauche - A Scheme Interpreterから。 R6RS-style line breakingがうれしいな。

Kanasan

あ。そういえばデブサミでKanasan.JSの中の人と名刺交換をさせていただいた。 関西は yhara さんといい活発だなぁ。 全然関係ないけどダック・タイピング - Wikipedia。

Re: call/cc 勉強会

call/cc勉強会 - 日記を書く[・ _ゝ・]はやみずさん面白そうですね。 自分が分かるのは call/ccを処理系に実装する方法 一部 call/cc の使うシチュエーション コルーチン・ファイバ・ユーザースレッドの実装 大域脱出(Goto) return の代わりに (find の実装…

デブサミ

Joel氏 はさすがにプレゼン上手い。著書の口調そのままな感じ。 通訳の女性が予想以上にしっかりと言葉を選んで通訳していて分かりやすかった。何となくメモ MS プレゼンツのセミナーなのに MS とか Windows を冗談でけなしまくってた ユーザーは自分が外界…

コンパイラ/VM書き換え完了 - Scheme VM を書く

Pass1 と Pass3 をあわせてコンパイラは Scheme のコードで約1000行。 この大改造で lambda だけでなく let の入れ子も display frame を利用するようにコンパイル・実行される レジスタが1つ不要に。 になった。 この改造は速度的に向上するであろうという…

ふぅ

うっかりデバッグ方法まとめを書き始めたらこんな時間に。

Gauche(Scheme) でデバッグをする4つの方法

Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッ…

Gauche Tips 第1回 - Shiroさんの日記をRSSリーダでチェックする

Gauche Tips 第1回*1です。 作者 Shiro さんの日記をRSSリーダ*2でチェックしましょう。 なんでもRSS 0.1bを利用した以下のフィードを subscribe しましょう。ほとんどの更新を正しく教えてくれます。 http://blogwatcher.pi.titech.ac.jp/nandemorss/index.…

append-map

(apply append (map f l)) のようなコードを書いていて、ずばりそのものな手続きがある気がして探したらあった。append-map。

コンパイラ書き直したてVMと結合テスト

test (#t): expects #t => got () test (3): expects 3 => got () test (4): expects 4 => got () test ((if #f #f #t)): expects #t => got () test (((lambda (a) 3) 4)): expects 3 => got () test (((lambda (a) (if 3 7 5)) 6)): expects 7 => got () …

display 実装の前に - Scheme VM を書く

display 実装の前に不明瞭な点を1つずつ解決しよう。 1. free variables の探索 (lambda (y) y outer1 (let1 z 1 y outer2 z)) lambda のコンパイル時の free variables は outer1 と outer 2。let1の中も探さないといけない。 let のコンパイル時の free va…

悪事

会社やお店や個人がこっそり悪いことをしても、被害者が一定数以上いれば必ず悪事は露見する。 インターネットのおかげで、その閾値がかなり下がって悪いことをしない人にとっては良い世の中になった。 ということを日々ひしひしと感じる。ありがたい。 逆に…

Systems Programming with PLT Scheme

More: Systems Programming with PLT Scheme