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

ドカタしながらCOMET II用アセンブラを30日で作る日記(2日目)

昨日は台風みたいな雨の中作業ですよ。てーへんでした。 まぁ、いいや。 いや、10分しか作業時間取れなかったので、とりあえず、コンパイル通して、 コメントつけて終了みたいな。 30日といいつつ、いきなり、時間飛んでるあたり、終わってる。 まぁいいや…

ドカタしながらCOMET II用アセンブラを30日で作る日記(1日目)

おそらく突然、1,2日でゴリゴリすすんでおわりそうだけど、 COMET II用アセンブラくらいなら30日くらいでつくれるんじゃないかと期待しつつ、 作ってみることにしました。 眠いのでココまで。 駄目駄目だなぁ。

ちっちゃいもの

LISPとSECDマシンとそのコンパイラ。それ最小なのかなと思ってみたりした。 SECDマシンのocaml版がどこかに落ちてたような、落ちてなかったような。 状態変移がそのまま書かれてて、オオっっていう。 http://web.engr.oregonstate.edu/~erwig/buch/fp/kapite…

commetの実装やらなにやら

http://alohakun.blog7.fc2.com/blog-entry-597.html あろはさんが、そんなこと言ってます。 おお、これ面白そう。 アセンブラはnasmを参考にx86のやつ作ってみたいと思って挫折してたりするので、 簡単なマシンで練習っていうのはいいんだろうなと。 とりあ…

COMMET

風呂でパソコンしたい。どうしたらできるか? 防水ワイヤレスキーボードと、風呂から古いディスプレイを見れるように仕切り板を設置しておけばよかかと。 ここで、ぐぐると面白くて時間なくなり、鬱になるので、放置する方向で。

ちっちゃいものブーム

あれ、PKUだ、Codeゴルフだとやってて面白いんですが、 できれば、役に立つちっちゃいコードブームが起きないかなぁと。 他力本願的に思ふのでした。 いや、どっかでブームになってるのを知らないだけかもしれないけど。 ちっちゃくて、わかりやすい、アセン…

consを利用した言語の実装

とりあえず、四則演算+if文が使えるxxx言語を実装してみました。javascriptで。 [if, [=,[+,1,2],4],111, 222] if[=[+[1,2],4],111,222] if (=[+[1,2],4]) [111,222] if (= (+[ 1, 2]) 4 []) 111 222 [] if (= (+ 1 2 []) 4 []) 111 222 [] (if (= (+ 1 2 […

リスト連結(cons)を利用して見やすくした言語xxxを考える。

さて、1と2と3のリストは各言語で以下のようにかける。 lisp xs = (1 2 3)は xs = (1.(2.(3.()))) clean xs = [1,2,3]は xs = [1:[2:[3:[]]]] haskell xs = [1,2,3]は xs = 1:2:3:[] ocaml xs = [1;2;3]は xs = 1::2::3::[]さて、ここで、xxxという言語を考…

Wiiコントローラが駄目だった場合のWiiの使い方

Wii

もしも、Wiiのコントローラでブラウザの操作が簡単にできなかったとしたら、 DSをWiiのブラウザのコントローラとして使ってみたい。 http://www.forest.impress.co.jp/article/2006/01/30/ppctablet.html Pocket Tabletの任天堂バージョンだ。 っていうのは…

Wiiコントローラを扱うライブラリ

Wii

Wiiは買えなかったので、パソコンとテレビとWiiリモコンがあれば、テレビでWii体験できるなとか。 http://www.forest.impress.co.jp/article/2006/12/04/wiinremote.html いろいろライブラリとかあるようなので、ゲームを作れてしまいそうだなと。 http://ww…

Wii

Wii買えてないので、情報収集してました。 そしたら、Wiiリモコンだけとりあえず欲しくなってしまってたりします。

ver1.0が来る!!

来るぞーってことで、最近D言語から離れてるうちに1.0になるそうで、頑張れウォルターたん。 って感じです。D言語研究のBugTrackも放置してしまってたりしたのだけど、 k.inabaさんが送ってくれるそうなので、お願いしてしまいました。 役立たずですまぬで…

SSA最適化

って要は、代入のあるプログラムを代入のないプログラムに変換してから計算するっつうことなのね。 だから、SSA、静的単一代入形式いうんだね。関数型言語だと、代入は基本的にないから、簡単に最適化も出来るみたいな。

0.0.4遅延評価したり、しなかったりする。

とりあえず、DのlazyのようなのをJSOPで作ってみました。処理系は60行以下です。 ちゃんと、遅延評価したり、しなかったりできます。 [{ myif : { args : ["c", ["a"], ["b"]], body : ["if", "c", ["a"], ["b"]] }, body : ["myif", 0, ["error"], 3] }]…

0.0.3

JSONを使った関数型言語JSOPをバージョンアップしてみました。 無名関数が使えるようにしてみました。 alert(eval({body: [{args:["a","b"], body:["+","a","b"]}, 1, 2]}));のように書くと計算結果の3がアラートボックス内に表示されます。 C式を使った場…