それはまたべつのD言語

収集したデータを収集し、分析するプログラムであるコンシューマはD言語で記述する。

D言語のリアルアプリケーション事例キター、とか喜んではいけない。ここでいうD言語は、我々の知っているD言語とはまったく別のものである。

ここにあるpdfを見てみるとその概要が分かる。例えば、以下のコードは10から1までのカウントダウンを行うものだそうだ。

dtrace:::BEGIN
{
  i = 10;
}
profile:::tick-1sec
/i > 0/
{
  trace(i--);
}
profile:::tick-1sec
/i == 0/
{
  trace("blastoff!");
  exit(0);
}

特徴的なのは/と/で囲まれた部分に記述されるpredicatesだ。ここに書かれた式が成り立つ場合のみ、それ以下のステートメントが実行される。

2004年4月の段階ですでにDのフォーラムでは知られてたみたいね。Walterたんはうちのほうが始めたのは2年早い!とか言ってるみたい。