トップ «前の日記(2003-11-17 (Mon)) 最新 次の日記(2003-11-19 (Wed))» 編集   RSS 1.0 FEED  

Journal InTime


2003-11-18 (Tue) [長年日記]

_ Centrino under Linux

CentrinoのLinuxサポートをIntelに求める署名をした。

<URL:http://www.petitiononline.com/xanthan/petition.html>

_ インデント幅

昔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#で実装されるのを待つか…。