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

D言語とPerlとC++にしかできないような気がするアノ機能

http://d.hatena.ne.jp/qnighy/20100124/1264342447 import std.stdio, std.c.stdlib, std.c.time; void main() { uint a, b; srand(time(null)); foreach (i ; 0..1000) { (rand & 16 ? a : b)++; } writeln(a, ", ", b); }

Erlangの軽量プロセスとマルチコア

Erlangの軽量プロセスはいわゆるグリーンスレッドなのだけど,それだとCPU数が増えても恩恵受けれないんじゃね?という疑問があって,それに対するTwitterでのまとめ. 軽量プロセスをどんどん生成しても問題ないのは,Rubyなどとは違い保持しているデータが…

D2本のための章立てを考える

今更だけど難しさを知る.TDPLも考慮して,初期段階だけどこんな感じで D言語について データ型,式,文 配列,連想配列 関数,デリゲート クラス そのほかの型 型システム テンプレート エラー処理 契約プログラミング その他の機能 リソース管理 Phobos 並…

std.variantをimportするだけでコンパイルエラー

要素が構造体の連想配列が作れない? 原因はstd.variantが内部で使っているAssociativeArrayと既存のAssociativeArrayとのコンフリクトが原因と思われる(renameすれば起きない).見つかったのは結構最近のようだけど,Donが既にパッチを書いてくれているで,…

CT Brainf*ck

ふと思い立ったので書いてみた.D言語のCTFEは優秀なのですっきり書けたのは書けたけど,何かちょっと嵌まった.以下嵌まった所. 配列のlength arr ~= 0; // OK arr.length = 10; // Error : cannot be evaluated at compile time 時間があったらrt以下を読…

データフロー変数とSTM

Ozなどのデータフロー変数が「ある非バインド状態の変数がスレッド内で見つかった時,その変数を他のスレッドがバインドするまで処理を遅らせる」というのは分かるのだけど,この変数への変更処理はやっぱりアトミックな領域にしてやらないと行けない気がし…

D言語でErlangベースのメッセージパッシングの受信側

ってどうやるの?と.Erlangがあのシンタックスで便利なのは,動的型付けとパターンマッチのコンビネーションだからだと勝手に思っているのだけど(プログラミングErlang買うべきか?).Erlangの場合,spawnとか使ってプロセス生成時に渡す関数にはこれと言っ…

STM

並行処理するための技術の一つだけど,何か面白そう.今のところ使われてるのはHaskellとClojureくらいしか知らないのだけど,いろいろやりようがあるっぽい.D言語はメッセージパッシングの方でConcurrency APIは進んでるけど,これならライブラリレベルで…

Japan ParaSail User Group(仮)

Designing ParaSail, a new programming language ParaSail(Parallel Specification and Implementation Language)というマルチコアにおける並列処理向け言語.けど現状処理系はなくてデザインだけっぽい?色々な言語から盗んでいるというのと,リージョンベ…

Happy new year!!

なんか皆さん書いてるので,プログラム関係くらいは書いておこうかと.2009年のまとめをどうするかは後で考える(どう考えても書かないフラグ). D言語 そろそろアウトプットしたい所.いくつか書いて見たいライブラリもあるので,D2でガシガシ行きたい. な…

夏コミ?

なんか同人誌出すことになってるんだがどうすりゃいいんだ?同人誌で日本語訳とか聞いたことないぞ.TDPLはいいとして,そもそもD2の仕様が凍結されているのかさえ分からんのだけど…