Title

Scheme不定記



2005 6/6 (晴れ ところにより 大荒れ)
9割ネタだと思ってたのに...。
このタイミングは IBM に切られたとしか思えないけど。
iMac DV SE を 5年半使い続けた俺は
ある意味勝ち組(ってことにしておきたい)。
にしても、個人的には PowerPC の方が好きなのだが。
特にコンパイラの作りやすさは桁違いだし。
というか Intel でもいい。 いいから
x86 はもう捨てれ。



さてそろそろ現実を直視して
ThinkPad でも買いにいくか。
といっても ThinkPad にも先はないんだけど。
IBM は何でもかんでも捨て過ぎだと思う今日この頃。


中略
いろいろあったけれど、
この余白はそれを書くには狭すぎる。


2004 11/23
fib-30 テストが流行ってて楽しそうなので、俺も実験。
といっても回路があるわけでもないので parrot で代用。
ちなみに、比較のためにいろんな言語で試してみた結果は
こんな感じになりました。
(テストは全部家の Macintosh 上でやった結果。
実機のスペックはいわずもがな)
言語 処理系(オプション含む) 計算にかかった時間(秒)
C gcc 3.1 0.149
gcc 3.1 -O3 0.083
Java javac 0.113
OCaml ocaml 3.06 0.367
ocamlc 3.06 0.388
ocamlopt 3.06 0.075
Scheme Gauche 0.8.1 1.720
Python python 2.2 7.915
Ruby ruby 1.8.1 10.595
Perl perl 5.6.0 15.656

C が速いのは当然としても
Java も十分高速(起動するのがばかに遅いけど)。
OCaml は文句なしに爆速で
Scheme も動的型付けなのにかなりの速さ。
こんな感じで QM法で使われた言語は軒並み高い値を出しています。
逆に Ruby はソースの見た目や式指向な所は OCaml に似てるけど、
速度の点では、ちとあれです。
Ruby2 で処理系が書き直されたら、かなり速くなると期待。
異常に遅いのは Perl で、
スクリプトが悪いのか、処理系が 5.6.0 なのが悪いのか、
よく分かりません。
(Python はよく分からないのでコメントも特にないです)
んで、肝心の parrot ですが
Parrot parrot 0.1.1 29.625

この前はそこそこの速さとか書いてましたがちゃんと調べたら...。
version 0.1 のやつに無理をさせてはいかんすね。
けど、赤くなっても Ruby1 級というのは結構先が長そうな。


ぜんぜん関係ないけど、「進化形」って生物用語なんだろうか?
この前までポケモン用語だと思ってたけど、
ググって見たら普通に引っかかる。
広辞苑でもあれば調べられるんだけど、
あいにく手もとにあるのは中日辞典。


2004 11/21(回想)
学校に行ったら入館カードがなかった日。
地下室に落ちてた入館カードは俺のでした。
thx A氏。迷惑かけました。


2004 11/20
今日は学校に行く予定でした。
起きたら(朝の)7時でした。
次に起きたら夕方になってました。
寝る前よりだるくなってたのでもう一度寝ました。
...疲れてたんだ。きっとそうだ。
(ごめんなさい、演算子の方々)
初期化処理がいまだに終わってないんで
言い訳代わりに、ここ2週間くらいの活動記録を。
よく見るとろくなことしてな(ry

parrot を入れてみた。
fibonacci が動いた。そこそこの速さ。
なんとなくうれしい。
レイトレ動かしてみたいなぁ。

Perl6 では継続が扱えるようになるらしい。
call/cc 級のものが入るのか、
「皆で頑張って CPS で書こうぜ」って言う話なのかは
よくわからないけど、
CPS で書くだけなら Perl5 でもできそうなんで call/cc と予想。
でも、ループも例外もあるのに継続で何するんだろう。
ほんとにコルーチン?
あと、ML みたいなカリー化もできるようになるとか
(俺は明示的にカリー化する方が好きなひねくれ者ですが)。
期待度 1000% up(当社比)!!


2004 11/19(回想)
またまた午前の演習に出なかった日。
でも午後の演習の方はちゃんと出た(寝てたけど)。
マニュアル見ながら SRAM にいろいろ線をつないでみたけど
やっぱり動かず。何でみんなは動いてるんだろう???


2004 11/18(回想)
起きたら 10時過ぎだし、頭は痛いしで結局さぼった日。
あっ、コンパイラの課題また出してない...。


2004 11/17(回想)
ようやく本格的に SRAM のデバッグに入った日。
SRAM に最後に書いたデータしか読み出せないバグが見つかる。
P 氏から線が足りてないと指摘を受けるが、
どの線が足りないのやら。


2004 11/16(回想)
USB がさらに駄目駄目でもっとげんなりした日。
20 clock でも最後の1バイトが出力されない
ソースが見つかったので、思いきって 30 clock
まで上げた。まともに動くようになったけど正直わけわかめ。


2004 11/15(回想)
USB のバグはもうないだろうと思ってたら
まだ残っててげんなりした日。
単独でテストしてると上手くいくのに
他のと組み合わせるとなぜか上手くいかない。
一回書き込んだ後 20clock くらい待つようにして
ようやくきちんと動いた。かなり謎。


2004 11/14(回想)
朝っぱらに学校から帰ってきて、部屋の掃除をしてたら昼頃に。
今から寝てたら学校行けないな、とか思ってたらいつの間にか
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ。

予想どおり行けず。


2004 11/13(回想)
真っ昼間から地下室でふて寝してた日。そのまま 2連泊目。
が、真夜中になってようやくバグが見つかる。
USB の遅延時間違反だった。
最初にもらったソースでは、きちんとチェックしてたような気がするんで
たぶん俺が勝手に消しちゃったんだろう。
とっても虚脱感。


2004 11/12(回想)
授業がなかった日。
いろいろやってみてもバグとれず。
泊ってみたけど結局分かんないので
途中から 3x3 Eyes 演習に切り替えた。
30巻ちかく読めて満足。


2004 11/11(回想)
泊ったくせに、コンパイラ演習の課題出しそこね。
DCM はきちんと動いてるみたいだけど初期化処理は動かず。


2004 11/10(回想)
授業がなかった日。
初期化処理で DCM が必要なことが分かって
先にそっちからやることに。
帰るのも面倒くさくなったのでそのまま泊り。


2004 11/9(回想)
Y氏と話し合って、初期化処理が終わったら
DCM 関連の仕事をすることになった日。


2004 11/8(回想)
初期化処理を 2, 3日で終わらせるとか適当なことをメールに書いた日。
2, 3週間にしとくべきだった...。


2004 11/4
気付いたらもう夕方になってた。
おかしい。
朝ご飯食べたあたりまでは覚えてるのに。
ちなみに今週は、
月曜:(半分くらい)遅刻、
火曜:寝ブッチ、
水曜:無事出席、
木曜:寝ブッチ。
なんだか逆A氏状態。

使わない俺が言うのもなんだけど、
精力と訳すのはどうかと思う。