dmdのリリースサイクルが変わっていたようで、dmd 2.063.2がリリースされています。
http://dlang.org/download.html
2.063.1との変更点は、主に大きいバグ修正です。新しい機能などは含まれていません。 とりあえず、アップデートしておくといいですね。
担当:美馬(どういう基準でマイナーバージョンアップされるんだろう?)
dmdのリリースサイクルが変わっていたようで、dmd 2.063.2がリリースされています。
http://dlang.org/download.html
2.063.1との変更点は、主に大きいバグ修正です。新しい機能などは含まれていません。 とりあえず、アップデートしておくといいですね。
担当:美馬(どういう基準でマイナーバージョンアップされるんだろう?)
今、@k3_kaimuさんを中心に、D言語の入門記事である、d-manualが作られています!
https://github.com/k3kaimu/d-manual/blob/master/readme.md
まだ製作途中なので、「D言語の入門記事を書きたい!!」という方は是非Pull Requestを送ってみてください。
担当:美馬(こっちも、テンプレートとかCTFEの章を書いてみようかな)
unittestを取得する、__traits(getUnittests)が追加されました。 取得したunittestは呼び出すこともできます。
module hoge;
import std.stdio;
unittest
{
"test".writeln();
}
void main()
{
__traits(getUnitTests, mixin(__MODULE__))[0](); // このモジュールの0番目のunittestを呼び出す
}
実行すると、
$ rdmd -unittest hoge.d
test
test
確かに、unittestが2回呼ばれてます! 面白いですね。
担当:美馬(今ひとつ使い道が思いつかないけど)
非テンプレート関数とテンプレート関数のオーバーロードが可能になりました。
今までは、
import std.stdio;
string hoge(T)(T t) if(!is(T == int))
{
return "template";
}
string hoge(int i)
{
return "function";
}
void main()
{
12.0.hoge().writeln();
1200.hoge().writeln();
}
のような、非テンプレート関数とテンプレート関数のオーバーロードが不可能でしたが、このコミット以降、可能になりました。
オーバーロードのために、わざわざ非テンプレート関数をテンプレート関数にする必要がなくなって良いですね。
担当:美馬(最近、雨がすごい)
Ubuntu 13.04環境でLDCをビルドしてみました。 LDCは、フロントエンドにdmd、バックエンドにLLVMを使う、D言語のコンパイラです。
まず、必要なものを用意します。
$ sudo apt-get install llvm g++ git cmake libconfig++9 libconfig++-dev
ソースコードを持ってくるのにgit、ビルドするのにcmakeが必要です。 あと、libconfig++が無いとビルドに失敗します。
gitでソースコードを持ってきます。
$ git clone --recursive http://github.com/ldc-developers/ldc.git
適当なビルドディレクトリを作って、その中でmakeします。
$ cd ldc
$ mkdir build && cd build
$ cmake ..
$ make # お好みで -j4 とかを
$ sudo make install
ubuntuだと簡単にビルドできますね。
担当:美馬(Windowsだと面倒くさい・・・)
パッケージを、モジュールとしてインポートする機能が追加されました。
続きを読む