2003-11-18 (Tue) [長年日記]
_ Centrino under Linux
CentrinoのLinuxサポートをIntelに求める署名をした。
_ インデント幅
昔rubyでコードを書く時のインデント幅を3にしたいた理由が思い出せなかったのだが、 Satherの影響のような気がしてきた。
_ イテレータの動的分配
Satherコンパイラで イテレータの動的分配ができるようになった。
abstract class $TIMES is
times!(once n: INT): INT;
end;
class TIMES < $TIMES is
create: SAME is
return new;
end;
times!(once n: INT): INT is
i ::= 0;
loop
while!(i < n);
yield(i);
i := i + 1;
end;
end;
end;
class MAIN is
main is
t: $TIMES := #TIMES;
loop
i ::= t.times!(3);
#OUT + "i=" + i + "\n";
end;
end;
end;
_ parameterrized type
どういう実装にするのかが悩ましい。
内部的には全部System.Objectにして、INTとかはboxingすればいいかなとも思ったけど boxingのオーバーへッドが気になるところ。 あと、.NETの配列をどういう扱いにするかって問題もあるし。
といって、パラメータとして与えられた型毎にクラスを作るのも、生成したクラスをどの アセンブリに含めるかが悩ましい。
C#で実装されるのを待つか…。
[ツッコミを入れる]