言語

LLDNのD

LLDNのD(Day)に参加して来ました。やばいっす。楽しすぎです。とりあえず、小飼さんに、ささださんに、高橋メソッドの高橋さんに、青木さんに、nobsunさんに、id:sumimさんに、id:naoyaさんにと、この界隈の有名人が一挙に集まっているのには壮観でした。こ…

集中講義『計算機システム特別講義IA』

・集中講義『計算機システム特別講義IA』 (http://www.rubyist.net/~matz/20050602.html#p02)受けたいー!部外者は受けられませんか?単位もらえなくてもいいんで。

RubyかLuaか。

Ruby組み込みとRuby/GTKを参考に、DirectXのライブラリのRuby用ラッパーを少し書いた。...。面倒&不安だ。ラッパーを書くのが超面倒だ。まぁ、これは我慢するとしても、コンパイル段階で、ソケット関係の識別子の競合を押さえ込んだり、呼出規約やらのエラ…

Rubyを選ぶ理由。

今回Rubyを選んだ理由は下記に書いてあることとほとんど同じだ。 僕やはてながPerlを選ぶ理由 - naoyaのはてなダイアリーわかるなぁ〜。やっぱ、C/C++って硬いんだよ。というか、静的型とか、コンパイルが必要な言語や処理系ってすごく硬い。“ソフトウェア”…

Ruby

業務でわけあって、Rubyを勉強することになった。 Rubyソースコード完全解説は読んでるのに、Rubyは使っていないという変人なので、とりあえず文法から。(http://kansai.anesth.or.jp/gijutu/ruby/man-z1/refm0015.html)注意ポイントをメモ。 0や空文字列は…

コンパイラを作ろうを一時中断

最近、自分のこれからの学習方法がある程度身定まってきたので、いままで学習企画的にやってた「コンパイラを作ろう」を一時中断。んでも、オープンソースは言語処理系を中心に読んでいくつもりなので、結局やること自体あまり変わりないかも。

「Unix vs Windows」と「Lisp vs C」

「Unix vs Windows」の議論と、「Lips vs C(自然言語的記述を考慮したプログラミング言語)」の議論はすごく似ているような気がする。終着ポイントは、「機械的作業のさせやすさ vs とっつきやすさ」かな。つまりは、機械に積極的に仕事させたい人は、Unixお…

Lispのクロージャ

Lisp処理系作成(ISBN:4871482006)を通勤時間にちょこちょこ読んでいる。 SchemeしかLispを勉強したことがない自分だけに、クロージャの解説に悩んだ。自分にとって、“lambda”とはクロージャを生成するための構文だと思いこんでいたからだ。だが、Lispの歴…

コンパイラを作ろう(7)

演算子順位構文解析法をテストファーストで作ろう!と意気込んで、作りはじめた。とりあえず、抽象化を意識して、lexer のインターフェースを作って、それにテスト用具象クラスを突っ込んでテストを作り始めようと思ったのだが、インターフェースをどう作れ…

コンパイラを作ろう(6)

parserは解析が少し大変だ。とりあえず、「式」の解析に用いられている演算子順位構文解析法を改めて勉強。おもしろかったので、自分の脳内イメージだけで一度実装してみようと思ったのだが(Prove it!)、その実装をテストファーストでやってみたいなと思い…

コンパイラを作ろう!(5)

やっとこさ、http://www.cmagazine.jp/contents/200301.htmlのサンプルを試した。途中、整数の字句解析部で、値を取得するための自動変数が0で初期化されておらず、VCでビルドして実行したらランタイムエラーになってしまった。バグでしょうね、これは。とり…

コンパイラを作ろう!(4)

やっとこさ、http://www.cmagazine.jp/contents/200301.htmlの特集を読了。ってか、読むの遅すぎ。まとまった、時間がほしい...。 はやく、サンプルプログラムを実装してみて、挙動を手で確かめねば。こんなペースじゃ、いつオリジナルコンパイラなんて作れ…

コンパイラを作ろう!(3)

“Lisp処理系の作成”(ISBN:4871482006)が到着。パラパラ見ただけだけど、こりゃ面白そうだぁ。でも、まだやる予定だった分が進んでないから、とりあえず積み読。自分の自由な時間を作るって難しい...。

コンパイラを作ろう!(2)

まず、昨日立てた作戦の最初の目標である、書籍サンプル実装にむけ、サンプル処理系が載っている書籍を探す。とりあえずは、http://www.cmagazine.jp/contents/200301.htmlあたりのサンプルでも作ろうかと思う。lexerおよびperserが手書きなところが最初の一…

コンパイラを作ろう!(1)

最近、いいかげん本を読んで勉強するのに飽きた。なんというか、本を読んでも知識が付いたとは思えない。まぁ、ここらへんは前に語ったことなので(d:id:emeitch:20050407、d:id:emeitch:20050408)、これ以上の言及は避ける。んで、今後の勉強目標としてコ…

Gauche:Windows/VC++

千代郎さんの手により、GaucheをVC++でコンパイルできるようになったらしい。 http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Gauche%3aWindows%2fVC%2b%2bとりあえず、コンパイルを通し、そこに機能を追加してくという方式のようだ。よって、IO…

まだ進んでなかった...。

昨日、「Cleanで関数プログラミング」第1部を読了と書いたが、実は第1部1章を読み終えただけだった。どうりで、ボリュームが少ないと思ったら。ってなわけで、第1部2章から読まなければ!

Concurrent Clean

現在 Concurrent Clean を勉強中。「Cleanで関数プログラミング」第1部を読了&実践した。 (http://sky.zero.ad.jp/~zaa54437/programming/clean/CleanBook/)現状の感想。パターンを使った定義は面白い。複雑な条件分岐書かなくてもいいのがうれしい。あと…

関数型言語(1)

最近、関数型言語にハマっている。なぜかと問われれば、関数型というプログラミングパラダイムが美しいからだろう。 高階関数 再帰 副作用排除・参照透明 これら一つ一つが、プログラムを“美しく”引き立てている。そしてなにより重要なことは、上記の要素が…