読書メモ:読書術

タイトル:読書術 著者: 加藤周一 英語で書かれた専門書より英語で書かれた文学書のほうが難しい。

コンピュータシステムの理論と実装:シンボルフリー版のアセンブラ完成

シンボルフリー版のアセンブラ完成しました。 簡単にプログラムの説明を書いておきます。 A=1 M=Dと書かれたファイルがあるとする。 このファイルをread-asmで読み込むと ("A=1" "M=1")のようなリストが返されます。 その次に1個ずつ要素を、string->list関…

プログラミングの基礎:問題4.7解答

(* 目的:鶴の数xと亀の数yに応じて足の数の合計を計算する *) (* tsurukame_no_ashi : int -> int -> int *) let tsurukame_no_ashi x y = tsuru_no_ashi x + kame_no_ashi y (* テスト *) let test1 = tsurukame_no_ashi 1 1 = 6 let test2 = tsurukame_no_…

プログラミングの基礎:問題4.6解答

(* 目的:鶴の数xに応じて足の本数を計算する *) (* tsuru_no_ashi : int -> int *) let tsuru_no_ashi x = x * 2 (* テスト *) let test1 = tsuru_no_ashi 1 = 2 let test2 = tsuru_no_ashi 10 = 20 let test3 = tsuru_no_ashi 20 = 40 (* 目的:亀の数xに応…

読書メモ:食の世界地図

タイトル:食の世界地図 著者:21世紀研究会編

読書メモ:色彩の世界地図

タイトル:色彩の世界地図 著者: 21世紀研究会編 今のサンタクロースのイメージは、コカコーラの広告からだったのか

プログラミングの基礎:問題4.2〜4.4

問題4.2 let jikoshokai name = "I am " ^ name 問題4.3 let hyojun_taiju m = m ** 2.0 *. 22.0 問題4.4 let bmi m kg = kg /. (m ** 2.0)

読書メモ:グーグル検索だけでお金持ちになる方法

タイトル:グーグル検索だけでお金持ちになる方法 著者:午堂登紀雄積極的に検索してお金持ちになろう

プログラミングの基礎:問題4.1

問題4.1解答 let baito_kyuyo y h = (y * 100 + 850) * h

読書メモ:マグネシウム文明論

タイトル:マグネシウム文明論 著者:矢部孝/山路達也 発売日2010年か。いまどうなってるんだろ?

読書メモ:理解する技術

タイトル:理解する技術 著者:藤沢晃治野菜を粉末状にして食べることなんかほとんどないやろ

読書メモ:わかったつもり 読解力がつかないほんとうの原因

タイトル:わかったつもり 読解力がつかないほんとうの原因 著者:西林克彦ネコかわいい

読書メモ:「知」の強化書

タイトル:「知」の強化書 著者名:本郷陽二この本で世界樹の迷宮に出てくるアリアドネの糸の元ネタがわかった。

4章入出力操作プログラム

@SCREEN D=A @R1 M=D @8192 D=A @R1 M=M+D (press) @KBD D=M @white D;JEQ @SCREEN D=A @R0 //カウンタ M=D (bloop) @R0 D=M @R1 D=D-M @press D;JGE //スクリーンに書き込み @R0 A=M M=-1 //加算処理 @R0 M=M+1 @bloop 0;JMP (white) //初期化 //@R0 //M=0 …

4章乗算プログラム

@R2 M=0 (LOOP) @R1 D=M @END D;JLE @R0 D=M @R2 M=D+M @R1 M=M-1 @LOOP 0;JMP (END)4章のプロジェクトで書いた乗算するプログラムです

数学読本を読んでます

去年の12月ぐらいから、松坂 和夫先生の数学読本を読んでます。 内容は高校+αの範囲を初歩から丁寧に解説されています。微積分をはやめにやりたかったので何章かとばしてますが、 今は、5巻目を読んでいるところです。この本、問題もついているのですが答…

4章機械語

4章のプロジェクトで、機械語のプログラム書いているときに気づいたのですが、 D=D+2のように直接2以上の数値は使えないんですね。2以上の数値で計算するには @2 D=D+Aのように@命令でAレジスタに指定した数値を格納してから、 Aレジスタを使って、2以上の…

2章ALU

HDLではif文が使えないので if nx then x = !x みたいなのはどうすればいいのか悩んだんですが、 単純にx = !xをあらかじめ計算しておいて、その後nxで 分岐させるというやり方で実装しました。 例えば上の例だと、 Not16(in=x,out=x2);//あらかじめ計算 Mux…

5章CPU

コンピュータシステムの理論と実装の5章のCPUの実装の部分で苦戦して、 完成するの1ヶ月ぐらいかかりました。 せっかくなんでコードを載せておこうと思います。 CHIP CPU { IN inM[16], // M value input (M = contents of RAM[A]) instruction[16], // In…

「コンピュータシステムの理論と実装」を読んでいます

最近、「コンピュータシステムの理論と実装」という本を読んでいます。 NAND回路からはじめて、CPUを作ってその後、アセンブラ、バーチャルマシン、 コンパイラ、OSを順に実装していくという内容の本です。今、6章まで読んでいて、アセンブラを作っていると…

勉強:プログラミング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でつくる人工無脳」という本を参考に、人工無能を書いていこうと思います。この本には、いろいろと思い入れがあります。はじめて…