...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

2009-09-01から1ヶ月間の記事一覧

shared型修飾子のサンプルコード追加

http://rayerd.plala.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E4%BA%BA%E3%81%AED%E8%A8%80%E8%AA%9E2.0 import std.stdio; import core.thread; int a; // スレッドごとに別々の静的変数を用意 shared int b; // …

「C/C++に疲れた人のD言語2.0」更新情報

http://rayerd.plala.jp/pukiwiki/ingwiki/index.php?C%2FC%2B%2B%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E4%BA%BA%E3%81%AED%E8%A8%80%E8%AA%9E2.0 pure, synchronized,synchronizedメンバ関数,shared型修飾子についての記述を追加.

将来的にはテンプレート関数もオーバーロード可能に

テンプレートだと失敗するのは仕様? それは今後の課題で,将来的にはテンプレート関数もオーバーロード可能になるそうです. なんかソースのコメントに書いてあるとか.

synchronized その3

import std.stdio; import core.thread; class SharedData { private int v; // privateに変更 public synchronized void increase() { int a = v; for(int i; i<1000000; i++){} // wait v = a + 1; } public int value() const // constをなくすとエラー(…

synchronized その1.5

import std.stdio; import core.thread; class SharedData { public int v; public void increase() { // synchronizedだけだとグローバルなmutexが作成されるので, // 同期する必要がない他のsynchronizedブロックともお互いに処理待ちが発生してしまう sy…

synchronized その2

import std.stdio; import core.thread; class SharedData { public int v; public synchronized void increase() // 同期関数に変更 (2) { // 同期関数は次のようなsynchronized(this)と等価 (1) //synchronized(this){ int a = v; for(int i; i<1000000; i…

synchronized

import std.stdio; import core.thread; class SharedData { public int v; public void increase() { //synchronized // <== これの有無で結果が変わる { int a = v; for(int i; i<1000000; i++){} // wait v = a + 1; } } } class IncrementThread : Threa…

.funcptr

import std.stdio; void main() { auto dg = (int x){writeln(x);}; dg(1); auto fun = dg.funcptr; fun(1);//実行時におかしい } funcptrって何にどのように使うものなんだろう?

Twitterで十分

なんかちょっとしたことを書くモチベーションがtwitterだけで満たされるようになってしまったな.

データベースのための新しい言語

Web

大規模データ処理、RDBMSエンジンの見直しの必要性、クラウド、MapReduce、開発者にとってのデータベースの使いやすさ、新しい言語は?、Uncertain data, プライバシーの管理などなど、DBの将来を見据えた意見が盛りだくさんです。 確かに,メジャーな言語が…

/D/D programming language/

"D" だけだと検索しにくいのでみんなで各ページ1回は "D programming language" と入れておくようにしない? と Walterタン が 提案 してました。まあそうだよね。日本語で検索かける場合は "D言語" があるから 問題ないか。 皆さんもう実行していると思い…

メンバ変数へのアクセスを自重するメンバ関数はどこまで使われるべきか

Rayerd メンバ変数をメンバ関数の引数で渡してメンバ関数の独立性を高めるってどの程度まともなやり方でしょうか http://twitter.com/Rayerd/status/3812033196 まずは普通にメンバ変数にアクセスをするとこんな感じ. class Parser { this(string[] tokens)…

TeXの人の気持ちがわかる

文献整理がうまくできない. 引用文献とか被引用文献の関係を把握するうまい方法はないものか. ACM portalでは物足りない. 自分の興味がある文献だけをツリー上に表示できないか? 自分のプレゼンスタイルが確立されてきた. こうなるとパワーポイントでは…

dmd 2.032 - synchronized member functions now implicitly typed as shared

synchronized member functions now implicitly typed as shared. class A { synchronized void f(){} } void main() { A x = new A; x.f(); // error auto y = new shared(A); y.f(); // ok }

BUG: The overload and override issue of const/immutable member functions

こういう形で報告した. 3282 – The overload and override issue of const/immutable member functions import std.stdio; class Base { string f() { return "Base.f()"; } } class Derived : Base { string f() { return "Derived.f()"; } string f() con…

const/immutable関数がオーバーライドできない?

そういえばバグ報告忘れてた. 昨日のこのコードを警告付きでコンパイルすると、 class Base { void func(){} void func(int){} } class Derived:Base { alias Base.func func; void func(int){} void func(int) const{} void func(int) immutable{} void fu…

なぜ案内人はウサギなのか?

Web

偶然なのだろうが、ウサギのキャラクターが出てくるところまで一緒だ。 「不思議の国のアリス」の時代から案内人はウサギと決まっている.

dmd 2.032 release

Version D 2.032 Sep 2, 2009 New/Changed Features * synchronized member functions now implicitly typed as shared. * std.algorithm: added minPos * std.format: added raw specifier for reading * added File.byChunk * std.algorithm: added more u…

ょすみん。

スコア更新.

「初音ミク」

わかる・・・わかるぞ!!!!!!!!!!!!! 幸せな気分になる.

アクセサ

例えばO'Camlでは、テーブル等の構築中はmutableで、構築が終ったらmutableを外すといったことができません。抽象型にしてアクセサを用意すればいいのですが、パターンマッチが使えなくなるので微妙です。というわけでD言語の推移的constは素晴しいと思いま…