Entries from 2007-11-01 to 1 month
プールに行って考えてきた。 明日はGauche上でWikiパーサを書く。 apply のバグは今日中に直す。
スタッフが街で美しい女性を見つけ、一番美しいと思う知り合いを紹介してもらう。美しい人に自分よりも美しい人を紹介してもらうことを繰り返すことで美女を決めるという番組を見ている。 この方法をスーパーハカーにあてはめると真のスーパーハカーに出会え…
記法をどう Parse するかはあまり考えていないが、行ごとに Parse していくだけでも処理系の強化につながるだろうと予測して作業を始めてみる。 いろいろ足りないことが分かるので追加。 string-length string->symbol number->string string-append string-…
スタバでの60-70才くらいの3姉妹の会話から。 人は死ぬは間際には母親の名前を呼ぶらしい。 子供の名前は呼ばないとのこと。
But not so fast that that alone made me switch. What made me switch was that Lisp machines (both Symbolics and LMI) were so gratuitously, baroquely complex. The manuals filled a whole shelf. Each component of the software was written as if…
可変個引数をサポートする場合はここを押さえましょう。 もはや誰向けの記事だか分かったものではない。 (proc 1 2) というコードがあったとしてコンパイラはこの proc が何個の引数をとるかは知ることが出来ない。 例えば (define (proc a b) ...) ; (1) (d…
たまに set! 系を使うと心苦しいのはなんでだろう。 set! だとすぐに書けるから書いてしまうのだよなあ。
リチャード・ストールマンのMy Lisp Experiences and the Development of GNU Emacs を読んだ。 but people wanted to implement something like that on other systems where they had not already written a Lisp compiler. Well, if you didn't have the …
「Symbolics はなぜ失敗したか」を読んだ。(Why Did Symbolics Fail? « Dan Weinreb’s Weblog。) 作者の履歴はDan Weinreb。斜め読みなので誤読しているかもしれないけど目に留まったところをピックアップ。 At the MIT Artificial Intelligence Lab, fiftee…
正規表現サポートのコードを書きはじめたががんばりすぎなので落ち着こう。 文章を読むか本を読むか音楽を聞こう。
基本機能として open-input-file, read, close-input-por を実装する。 補助機能として call-with-input-file もライブラリとして実装しておけばすこしはきれいに。ついでに HTTP の レスポンスヘッダを出力する処理を分ける HTML を出力する(Gauche の html…
コンパイル時の global 変数判定のバグを発見。 わりと深刻なのでまじめに考えないとまずい。 症状 (compile-lambda '(lambda () (print "Status: 200 OK")) '() '() '() '(HALT)) => (REFER_GLOBAL print (ARGUMENT (CLOSE 1 (CONSTANT "Status: 200 OK" (A…
僕らの音楽がまた録画できていなかった。 きっと何かの都合で放送時間がずれたのだろう。 とても悲しい。
鬼車を使って regexp? regexp->string rxmatch 正規表現を手続きとして呼出し rxmatch-start rxmatch-end rxmatch-substring をサポートした。 一度通った道なので特に障害は無し。 まとめは明日。Scheme Object がからむ定型のC関数は、Gauche のようにS式…
原始的ですが。 スクリーンショット work.scm (define (print s) (display s) (display "\n")) (print "Status: 200 OK") (print "Content-type: text/html") (print "\n") (print "Hello, World\n") work.scmc #!/usr/local/bin/mosh (30 1 (2 (9 1 (16 (11…
display 手続きを実装する 実装した。 開発サイクルの効率化 VM用にコンパイル->VMコンパイルしなおしのサイクルが面倒なので (read) を活用しよう。 流れ 実際の Scheme のコード test.scm を編集 コンパイル済 test.scmc へ (auto-compileで) VM は compil…
Why Did Symbolics Fail? « Dan Weinreb’s Weblog
最近 reddit.com 見かける、GambitとかJazzSchemeとかどうなんだろう。 流行り具合とか速度とか。(速度は調べれば分かるか。)
ひげ「やった!」 よめ「どうしたの?」 ひげ「Gaucheのread.cが動いたよ」 よめ「へぇーすごいね」 ひげ「Gaucheって知ってるの?」 よめ「知ってるよー。しろーさんところの子の」
先日のインタビューが公開されました。 開発者が語るMonaのこれから − @IT自分戦略研究所
今日は早起きしてカフェに行き午前中にノルマを片付けた。 その後、奥さんと世田谷公園方面に散歩に行きパスタランチ。 つぎに世田谷公園でレジャーシートを敷いて、昼寝&カメラでうだうだ。 涼しくなってきたころに、帰り道で未知のスーパーに入り夕食の買…
エアメールでぽすかを送るために郵便局。 料金が分からなかったので窓口へ。 70円也。安っ。 物理的にぽすかを送って70円とは安いね
ジョン・レノン スーパー・ライヴにクラウス・フォアマンが出ると発表されています。 1曲だけど。これはすごいことだよ。 彼のベースライン好きなんだよなあ。
スタックにつまれた pair を展開してスタックに押しもどす。(必要であれば拡張する)。 という感じで実装。
移植というとおおげさだけど Gauche の read.c を使わせてもらって (read) を実装する。 かなり適当に移植したのだけど一発で動いた。 移植時にはマクロや、これはひどいというマクロでいろいろ対処しました。 簡単に read できて大変ありがたい。
知り合いからエアメールが届いた。 返事用のポストカードを雑貨店で物色していたら気に入ったイラストのものを発見。 イラストレータのワカマツカオリさんの描いたもの。 今ちょうど横浜赤レンガ倉庫でイラストを展示しているみたい。
実装の優先順位を考える。 今はとにかく独り立ちが望まれるので Gauche で動いているコンパイラが VM で動くようにすることが当面の目標。 コンパイラで使用している構文を優先的に実装。 あとは、(read) 相当をどう実装するかだけど Gauche の read.c を何…
目的を明確に、具体的に汚いと思うポイントと列挙してから取り組む。 shirt-args の引数の意味が分かりづらい スタック操作系の手続きは引数の順序を固定する find-free 時の特定命令時の処理を一つにまとめる parse-lambda-vars は多値を返すように compile…
開発してる方々の名前でググらせて頂くとと2人ともBeOSを開発されていた方らしいへぇ。