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

勉強:プログラミングHaskellを読み終わった

最近プログラミングHaskellを読んでたのですが、やっと読み終えました。 薄い本なのですが、読むのに結構時間がかかります。 Haskellでの考え方が良くわかる本です。

比較

s式でJavaが書ける処理系がどの程度使えるのか比較するために本に載っていたスロットゲームのプログラムを、この処理系で書き直してみました。 http://github.com/mas454/experiment/blob/master/Test.jtsif文とか基本的な構文の定義と再利用できるコードを…

メモ:SECDR-Scheme

SECDR-Scheme http://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu SECDマシンを変形した、SECDRマシンという仮想マシンで動くScheme処理系 r4rs準拠 ソースを読んでいてなんとなくMiniSchemeに似ているなと思っていたら、もとは 同じ人が書…

lisp on yarv製作日誌15

不便だったのでインタプリタとして実行できるようにしてみました。 http://github.com/mas454/loy-yasm/blob/master/interp.lいままではいったんコンパイルしてからruby test.rbみたいに実行しないとだめだったのですが、ruby interp.rb test.loyのようにコ…

最近買った本

プログラミングClojure ブラウザで無料ではじめるActionScript 3.0 天地無用!魎皇鬼外伝 天地無用!GXP6 論理学をつくる

普通のマクロみたいに使えるようにしてみました

s式でJavaが書ける処理系のマクロをGaucheから使えるようにしてみました。 http://github.com/mas454/experiment/blob/master/mac-jts.scm例えば、a[10]を(aref a 10)のようなs式から生成したい場合、 (require "./mac-jts") (import mac-jts) (tmacro aref …

s式でJavaが書ける処理系

s式でJavaが書ける処理系をつくってみました。 http://github.com/mas454/experiment/blob/master/jts.scm (class Test (public) (def (main args) ((public static void) |String[]|) (System.out.println "Hello Java World")))これを例えばTest.jtsという…

デモ用のプログラム

先日卒研の中間発表があったので、デモ用にDXRubyについているレースゲームのサンプルをlisp on yarvで書きなおしてみました。 (require "dxruby") (= Window.caption "ミニレーシング") (= line1 (newarray 53 430 568 438 568 438 607 261 607 261 520 200…

lisp on yarv製作日誌14

rubyのハッシュを簡単に使えるようにしてみました。 (make_hash h (("a" 10) ("b" 20) ("c" 30))) (get_hash h "a") #=> 10ちなみにマクロで書きました。 (macro (make_hash a hash_list) `(begin (rasm ,a.to_s) (rasm " = {") ,@(map (lambda (val) `(begi…

人工無能を書いてみる

lisp on yarvでマクロが使えるようになったので、そろそろ何かプログラム書いて みようということで、「恋するプログラム—Rubyでつくる人工無脳」という本を参考に、人工無能を書いていこうと思います。この本には、いろいろと思い入れがあります。はじめて…

lisp on yarv製作日誌13

マクロが使えるようになりました。 (macro add1 (a) `(= ,a (+ ,a 1))) (= num 0) (add1 num) (puts num) #=> 1それから、rubyのコードを埋め込むための命令をつくってみました。 (rasm "def test(x) puts x end ") (test 10)