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

foreachの新機能

D言語スレで出てきたので,2.021におけるforeachの変更の超簡単な例でも書いておく. class Range(T) { int index; int length; T[] range; this(T[] range) { this.range = range; length = range.length; } T head() { return range[index]; } void next()…

DMD 2.021

最新版なわけだけど,今回もまた破壊的変更だったw foreachのrangeサポート opApplyはそのまま使えるんだけど,どう変わったのかなぁというのはソースを見てみないと分からない.これが使えるようになるってことなのか?D announceにあったこの長いやりとり…

GCのソース

アルゴリズム的な面はよく分かってないので口を出しようがないんだけど,ソース的には無駄な所が前の記事も合わせてあるな,と思う.gcxモジュールのGCクラスについても,staticメンバとしてlineとfileがあるけど,これが使われてるのはdebug(LOGGING)で囲ま…

GCのgetStatsNoSync

D言語のGCを眺めてるんだけど,GCクラスのgetStatsNoSyncメソッドの中で無駄なとこ発見.usizeを定義して,最後に代入してるのに使ってない.bsize - flsizeで求めることが出来て,現状これを使ってるんだし削除した方がいいんじゃないかと. こういうのって…

DのGC

class Foo { public string name = "foo"; } void main() { auto foo = new Foo; GC.free(cast(void*)foo); writefln(foo.name); // -> foo writefln(foo); // -> object.Error: Access Violation } D言語のバージョン2.020からD runtime projectのおかげで…

Uniqueテンプレートの不思議

Rebindableいいなぁとか思ってて,ソースを眺めているとtypeconsモジュールにUnique構造体テンプレートが増えてることに気づいた(ちゃんと日本語版も更新されてた,凄い).2.019には存在してなくて,2020からの参照返しが関わっているっぽいのだけど,まだun…

Javaの参照とDの参照

OpenJDKで提供されているJDK 6のソースを眺めていた.java.lang.refパッケージにそれぞれのクラスがあって,これが実装のはず. SoftReference WeakReference PhantomReference Finalizer これらが重要だと思うんだけど,強参照は組み込みなのでないのかな(R…

Dにも欲しい弱参照

タイトル通りで欲しいなぁと思う今日この頃.D言語なら頑張れば実現できそうなそうでないような…

Rubyの標準ライブラリの不思議

今まで気付かなかったのだけど,Rubyで弱参照を扱うためのweakref.rbなんていうライブラリがあった.俺標準ライブラリ知らなさすぎだorz とまぁこれはおいておいて,最近標準ライブラリ読んでて気になるのだけど,たまに半角スペースとタブが混在しているが…

DTLの行方

どっかの会社が作ってたけど,数年前から更新止まってるよね.今だとAndreiさんがalgorithmとかiteratorとか必要そうなのは取り込んでるけど(iteratorはtemplateでSTLのような種類はないけど). コレクションに関してはTangoとかdcolletionsにあるけど,これ…

初めてのRuby会議

九州Ruby会議01 - Regional RubyKaigi 初のRuby関係のイベント参加なのだけど,このRuby会議に申し込んだ.懇親会とかは時間的に厳しいかなぁということで,無料の通常参加で.Twitterで関係のある人も行くようなので,会えればいいなとwktkしている. 気に…

Dバグ人気投票

The D Programming Language - Bugzilla Issue List Dスレで知ったのだけど,Bugzillaでバグに対して投票できるようになったらしい.これで現状のD言語プログラマがどのバグを直して欲しいのかが一目瞭然に!! 元は以下のD.announceへの投稿. Web-News v.1…

Hpricot vs Nokogiri

http://gist.github.com/24605 下の記事のmerb.jpのLingrで,Merbの中の人がリンクを貼ってくれて知ったのだけど,二つのライブラリのベンチマーク.HpricotはRubyのスクレイピングではかなり有名なやつで,Nokogiriは最近1.0が公開されたHpricotと互換性の…

Merbの波

The Merbist » Blog Archive » Merb 1.0 released ポストRailsと呼ばれるフレームワークがいくつかあって(俺が愛用してるRamazeもその一つ),その筆頭であるMerbの1.0が遂に公開された.で,今日かな?lingrにmerb.jpという部屋が設置されたのだけど,そこに…

C++の復権

C++

C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ 色々言われていたC++0xだけど,ついに草案が公開.正直もう互換性は切っちゃってもいいと思っている今日この頃(最近のLLとかだと結構そんな感じだし).というか2010年正式公開だと0xじゃな…

D言語のアセンブリソース

今日C#のforとforeachでの話があって,D言語の場合だとforeachはopApplyが呼ばれその中でdelegateを使ってイテレートするんだけど,forとどれだけ差があるのか気になった. で,組み込みでコードの違いを見てみるかと思ったけど,Windowsのdmdでアセンブリソ…

enumと#defineとconst

enum Mode { A, B, C }; で綺麗に書けるのに #define A_MODE 1 #define B_MODE 2 #define C_MODE 3 とわざわざ書く理由が分からない.そもそも#defineは置換で使うものなので,列挙とかで使うのは型もないし使用目的からいって違う気がする.Cみたいにconst…

Shibbolethのスクリプト対応

いつもいつもロードマップに「もっとスクリプト対応するよ!」って書いてあって,どこのこと言ってるんだろうと思ってたんだけど,なんとなく分かった.属性関係で,形式に"Script"とか指定できるんだけどここのことかなと. 恐らく使えるのはScriptingが対…