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

メモ本屋に行くこと

本屋に行き、最近翻訳されたあの本を購入してLXXX族によるJXXXXXXXXXXX乗っ取り計画に加担するのだ。

メモ

gauche でコンパイルした断片を VM で動かそうとする長い道のり、ちょこっと前進。とりあえず CL でやっている。 まだかなりごまかしているけど、なんかいけるんじゃないか? TGSECD> (run #(PRE-CALL 11 CONST 10 PUSH CONST 2 PUSH GREF - CALL PUSH CONST…

memo

define-insn を改めて眺めて、 読み飛ばしていた$result に気づく。 これで define-insn が読めるようになったか? (define-insn CONST 0 obj #f (let* ([val]) (FETCH-OPERAND val) INCR-PC ($result val))) num-params = 0 operand-type = obj combination…

scheme コードバトン CL フォークメモ

Scheme コードバトンの CL fork について、詳しくないけど面白そうだ、やってみようか、という方向けに簡単にまとめてみます。何と言うかいろんな方が沢山ネタを仕込んでいるのが楽しいですね。現在バトンは http://gist.github.com/280060/ (NANRI さん)で…

scheme コードバトンの CL フォークに参加しました

「コードバトン」という不特定多数の人で少しずつプログラムをバトンリレーのようにいじるという遊びがあるそうで、 id:higepon さんが英単語学習用 scheme プログラムではじめています。(http://d.hatena.ne.jp/higepon/20100111/1263202895) なにやら楽し…

Toy VM(6) 整理

整理しよう。わたしの手元にあるのは、 http://webdocs.cs.ualberta.ca/~you/courses/325/Mynotes/Fun/SECD-slides.html を実装した SECD マシン (A)だ。コンパイラとセットで、let,lambda,letrec くらいを実行できる。コメント込みで高々200行だ。自分で作…

Memo

(run '(let ((m 3)) ((lambda (n) (* n m)) 5))) Step Stack Environment Cont Dump 1 s e (NIL LDC 3 CONS LDF (NIL LDC 5 CONS LDF (LD (2 . 1) LD (1 . 1) * RTN) AP RTN) AP . c) d 2 (NIL . s) e (LDC 3 CONS LDF (NIL LDC 5 CONS LDF (LD (2 . 1) LD (…

Toy VM(5)

SECD マシンをちょっと変形してみよう。スタックだけなのが元々の SECD マシンだ。SECD マシンを何となく動かすことはできた。簡単だけどとても面白いVM-仮想マシンだ。こいつに V レジスタ - 計算結果を保持するようなレジスタを足してみよう。gauche VM に…