Java は値型と参照型が混ざってゐるやうに見えるが、int や double などのプリミティブ型を Integer や Double などのクラスと同一視すれば全部が参照型と見做せる。まだ分かりやすい。
2014-10-05 21:16:34D、いくら f(x) と x.f が同じだからって sizeof(int) を int.sizeof と書くのは何か違ふと思ふんだ……。つか sizeof(int) って書くとむしろエラーになるし。
2014-10-06 01:14:48function (int i) { return i; } と (int i) => i はどちらも恒等関数なのだがうっかり (int i) => { return i; } とか書くと別のものになる。
2014-10-12 00:07:24--build=unittest-cov オプションを付けるだけでコードカバレッジが取れてしまふなんて dub さんマジ凄過ぎる
2014-10-12 18:27:32ちなみにプログラムを動かすだけでこんな感じのテキストファイルが出力される。結果を見るために出力を解析ツールに突っ込んだりする必要はない。 pastebin.com/vFe1dJ4m
2014-10-12 18:39:36pure なメンバ関数があると invariant が書けないとかなかなかおもしろいギャグですよね。最新の DMD では直ってますけど。
2014-10-12 23:04:17まだ食はず嫌ひだが、D でテンプレートやミックスインを使ってメタプログラミングするくらゐなら C++ でやった方が増しだといふ印象がある。
2014-10-18 14:25:32C++ のテンプレートが静的ダックタイピングであるのが欠点であるといふ主張をする人がゐる。では D ではそれを改善するためにテンプレートに型の様なものを導入するのかと思ひきやむしろ逆をやってのけた。
2014-10-18 14:28:37しかし俺にはミックスインといふ機能の必要性が全く分からないのだ。コンパイル時に文字列を eval (スクリプト言語的な意味で) して、一体何が嬉しいのだらう。
2014-10-18 14:38:48std.typecons.Unique なんかドット演算子をオーバーロードしてゐるからややこしい。もし後で Unique に別のメンバ関数等を足したら既存のコードの意味が変はってしまふこともあり得る。なぜ -> 演算子のオーバーロードにしておかなかったのか。
2014-10-18 14:54:08