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

iMac

ほぼ購入決定。

集合知プログラミング

ずっと気になっていたけどようやく購入できた。さあ学ぶぞ!!

Haskell 98

やっぱり仕様をちゃんと眺めないと(読むとは言わない)駄目だな。 http://www.sampou.org/haskell/report-revised-j/index.html (e) という形式は単なる 括弧でくくられた式であり、e と同等である。

Haskell メモ

「入門Haskell」が部屋から出てきた。必要な本が既に家の中に眠っているという素晴らしさ。積み過ぎ。 頭がまだ Haskell になっていないので枝葉末節が気になる。 演算子の優先順位のためだけのカッコ「()」があるようだ。 len (x:xs) はタプルではない? len…

Haskell メモ

リスト。 「[]」。Lisp だと「()」。要素数は任意。ただし要素の種類は一つ。要素の区切りは空白ではなく「,」。python の辞書のことわ忘れること。「:」は別の意味。

メモ

開始位置と終了位置。 その間のアロケートされたオブジェクト。 タグを見てペアならxベクトルならv、文字ならcなど適当な文字を出力する。 LLVM で文字列を出力するのが面倒臭いので、どこかからコードを探してきてまねること。

LLVM で stderr に出力

デバッグするのに stderr に出力したいと思ったが、これが面倒だった。何か楽な方法がありそうなものだけど、、例によって、C で書いてみて LLVM IR にしてみる。c->llvm-ir は自作。-O3 で最適化している。 gosh> (c->llvm-ir "#include <stdlib.h>\n#include <stdio.h>\nint m</stdio.h></stdlib.h>…

Oracle が Sun を買収

時代は変わるもんだ。 ああ、そういえば先日処分したサーバーは Sun + Oracle だったなぁ。時代か。

Haskell 再び

しばらく前にちょっといじっただけだったけど、再びいじってみよう。SoftwareDesign の今号を見ながら。Haskell はアイディアは素晴らしいと思うのだけど、文法が異常に頭に入らない。 len [] = 0 len (x:xs) = 1 + len xs なんで上の例で、[] と () を使い…

Scheme Compiler の勉強(43) - 整備中

自作コンパイラもどきはブランクから復帰中。シンボルを導入する前に、汚くなったコードを少しずつ整備している。 コードの重複をマクロで奇麗にしたり。まだまだ無駄に長過ぎる。今後の課題として、なるべくまとまった時間が取れるように工夫をするとともに…

file->sexp-list で遊ぶ

こんな風な関数を定義しておいて、 (use file.util) (use util.match) (use util.list) (use gauche.sequence) (use gauche.collection) (define (sexp-hist sexp-list) (define (hist exp ht) (cond ((null? exp) ht) ((pair? exp) (hist (car exp) ht) (hi…

file->sexp-list

gauche の file.util に file->sexp-list という便利手続きがあった。自分の書いた scheme のプログラム全体を S-式の固まりとして読み込める。この S-式のデータ=プログラムを処理してみよう。 自分のコンパイラで最も使われているシンボルは?ヒストグラム…

メモ

しばらくコンパイラに触っていないと何やっていたかまるで分からなくなる。TODO リストを付けていて良かった。が、プログラムは常に奇麗にコンパクトに保っておくべきだなぁ。何より自分のために。

メモ

OSバージョン FreeBSD 7.1-RELEASE-p4 i386 プラン STANDARD CPU Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz メモリー容量 2GB

新年度

泥のような業務がようやく終わり、新年度へ突入。あいかわらず同じところの仕事だけども、今年度はうまくやろう。ああ、わたしはいつも見送られる立場だったのに、人を見送るようになってしまった。いつまでここにいるのだろうか。完全に止まっていた幾つか…