D

思い出したように backtrace phobos

http://shinh.skr.jp/d/backtrace.zipDMD-0.159 にあわせて更新しておきました。

mem_fun 続き

gdc の ABI が違ったのでその対応とか入れてみました。 Linux の DMD-0.159 と gdc-0.18 、 WINE の DMD-0.159 で確認。 import std.stdio; template mem_fun(T) { T (*mem_fun(T (*f)()))(Object) { return cast(T (*)(Object))f; } } version (GNU) { temp…

mem_fun

オッケーメムファンですね!http://d.hatena.ne.jp/rinset/20060530/1148987859 import std.stdio; template mem_fun(T) { T (*mem_fun(T (*f)()))(Object o) { return cast(T (*)(Object o))f; } } class C { int val_; this(int val) { val_ = val; } int …

fix_c_cast.rb

http://shinh.skr.jp/dat_dir/fix_c_cast.rbなんか D で C style cast is deprecated とか言われるヤツを大量修正する時の雑なスクリプトを発掘してきたので置いておきます。 (int) とかが cast(int) になるだけ。 dmd -O -c *.d |& ~/wrk/ruby/fix_c_cast.rb

DMD-0.149

おおお。http://www.kmonos.net/wlog/59.php#_0030060309とりあえずポーションは飲みました。それはともかくやっと swap が書けるんですな。 > cat swap.d template swap(T) { void swap(inout T a, inout T b) { T t = a; a = b; b = t; } } int main() { i…

D の ABI

#D で面白いことを教えてもらいました。 import std.stdio; void func(int a, int b, int c, int d) { writefln(&a); writefln(&b); writefln(&c); writefln(&d); } int main() { func(1,2,3,4); return 0; }DMD で上記のコードをコンパイルして実行すると、…

backtrace on Win32

http://shinh.skr.jp/d/backtrace.zipWin32 上での D でハンドルされてない例外で main を脱出する際に、例外が起きた時のバックトレースを表示するものです。行情報とファイル情報の取得では id:h_sakurai さんの仕事を激しく流用させてもらっています。htt…

omfutils

http://shinh.skr.jp/binary/omfutils.tgzD でプログラム書いてるとお付きあいすることになる OMF を扱うユーティリティ。とりあえず OMF レコードをバラして適当に表示する omfdump 、フィーリングでシンボルを取ってきて表示する omfnm 、 .lib ファイルを…

mangling変更

http://www.digitalmars.com/d/changelog.html#new0140万歳。http://d.hatena.ne.jp/shinichiro_h/20040801#p2

reflection.d 2.0

http://shinh.skr.jp/d/reflection.tar.bz2reflection.d を最近得た知識から書きなおして、引数に nm の出力や map ファイルを取る必要をなくしました。 Win32 では Win32API を用いて、その他環境では libbfd を用いて実行ファイル自身からシンボルテーブル…

LangScan::D, LangScan::Io

できた。とりあえず ABAさんのコードでも愛でてみますか。他にもごちゃごちゃ入れてみてた。http://shinh.skr.jp/gonzui/gonzui.cgi/markupD言語の psyno で funcdef:co_resume を検索すると pcl.c のコードが出てきたりしてなんか嬉しいのです。http://shin…

LangScan::D

http://gonzui.sourceforge.net/langscan/http://purple.ie.ariake-nct.ac.jp/~bashi/diary/?date=20051010#p01うあー既にわりといいかんじ。でも詰めると大変なんだろうな。http://shinh.skr.jp/tmp/SDL.htmlhttp://shinh.skr.jp/tmp/bogoyaml.htmlhttp://s…

Dのコンテンツの

http://shinh.skr.jp/d/とりあえず bogoYAML for D と ポーティングな作業 を現状のコンパイラ対応しました。ところで誰か JSON for D とか書かないかなーと思う昨今。

GDC-0.14 on MacOSX

久々に GDC 作り直したり。 AIX サポートとか加わってたりするわけですが。まず、普通にビルドすると libgphobosnm.a はできないので、ビルドしてるディレクトリの下の powerpc-apple-darwin7.8.0/libphobos/Makefile に libgphobosnm.a : $(ALL_PHOBOS_OBJS…

gdc-0.11

おくらばせながら mingw32 のクロスコンパイラなどを作ってみたり。ちゃんと動く。感動。

GDC-0.9

http://home.earthlink.net/~dvdfrdmn/d/またしても報告したバグはきっちり直してもらっていてありがたや。PSY-NO を Linux&GDC でコンパイルすると、今まで GC が刺さっていたんですけど刺さらなくなっていた。なんでだろう。まあ、おかげで 大原さん に報…

共有オブジェクト

あまりに何度も共有オブジェクト話を見るので自分でやってみた。とりあえずこれ。http://shinh.skr.jp/d/so_bogoyaml.tar.bz2中身の mk を実行したらコンパイルするはず。で、 LD_LIBRARY_PATH=. ./main などとして実行すると test.dump.yml ができていれば…

function vs delegate

http://pc5.2ch.net/test/read.cgi/tech/1091185216/778-quicksort でこの差が出るのなら function と delegate は結構パフォーマンスが違うんじゃないかと思った。実際使う際は気にならない、という意味で quicksort だったのかもしれないけど、単体で見な…

D での開発に関する最近のはなしのメモ

モノが出てくるのはどうせ先になりそうだし、そもそも私はモノを作るよりその周りを作る方が楽しいような人間でモノなんで本当に出てくるかもあやしい。ゆえに思ったことは思った時に書いた方がいい。しかしまぁいつにもましてニッチの狭げなはなし。

スタックトレース

D言語/スタックトレース(http://tinyurl.com/5ougv) via http://d.hatena.ne.jp/ABA/20041102#p1このへんの与太話が生きているようなのが嬉しい。なるほどメソッドの行さえ見えればそれなりに使えるのか。 mlpp で各行ごとに行番号をインクリメントして…なん…

makearray.d

2ch見てたら動的配列を手軽に作りたいって話が出てて、 template関数作ればいいじゃんと思ってたら id:k_ahiru さんが作られた模様。さすが。http://pc5.2ch.net/test/read.cgi/tech/1091185216/651で、ほんのすこし改良。http://shinh.skr.jp/dat_dir/makea…

gdc のクロスでも作るかいや…

ターゲットは i386-freebsd4 。どこぞで FreeBSD のヘッダなりライブラリが入手できたり、簡単なコマンドが実行できることが前提になっちゃってますが…binutils ./configure --prefix=/usr/local/freebsd --target=i386-freebsd4 --host=i386-redhat-linux /…

Portable Coroutine Library (PCL)

前回までのあらすじ: GNU Pth イイ!と思ったけどよく見ると MinGW をサポートしてなかった。で、数時間の迷走の結果 (CreateFiberは Win95 ダメだとと知ってみたり、 WINE の CreateFiber を見たり、アセンブラ読んでみたり、自分で作ろうとしてスタックが…

Fiber について今頃気付いたのですけど、

GNU Pth で良くね?Lua とか Io とか組み込みたい、って考えたのは要するに二点。 C++ はコンパイル遅いよう、 Fiber が欲しいよう。前者は D 使えば解決。んじゃ Fiber があればそれで終わり。んじゃ setjmp, longjmp で…っていう yuu さんのネタをひっこぬ…

DIo

http://shinh.skr.jp/io/dio.tgzD から Io を触るためのインターフェイスです。簡単なサンプルを書こうと思ったんですけどめんどうになったので、今書いてるものの一部をくっつけて置いておくことにします。というのはしばらくいじらない予定なので、備忘録…

GDC Release

http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/768やたー今週末だって。しかし僕の GCC 勉強して GDC 理解するプロジェクトはどこに行ったのだ。サイトが大きくなったので Win とか Mac とかのバイナリをうちで配布してもいいといえばいいかも。

さよなら cygwin.dll、こんにちは DLL (いくらか嘘)

リファラで伝わりました。あーちなみに以下泡盛200ml程度含有状態で書いた文章で、日本人は酒を言い訳にすれば何をしてもいいらしい。http://edward.dip.jp/20040820.html#p03一段落については、それが今一つわからんから Win32 は私を幸福にしません。 Unix…

vector.d

ベクトルのクラスってみなさん作ってますけど私にとって決定的なものが無いので私も作る。まあようするに for ループで x,y,z を回したいというのと、値コピーしたい、という欲求が叶えば良い。前者は union を使えば良く、後者は struct を使えば良い。http…

YAMP

http://shinh.skr.jp/d/yamp.tar.bz2データ構造にはそれをベースにした言語がつきものです。(list => LISP, stack => FORTH) で、 YAML は YAMP です。やっぱ何か自由にいじれる言語一つ作りたいなーと思ったけどパーサ作りたくなかったのでなんとも中途半端…

AspectD 気分

なんか最近どんどんこういう頭の悪い方向に走ってるわけなのですけど。言語をそのままで楽しめなくなってるのかな。デバッグの時に dump を適度に埋めるデバッグ手法は printf デバッグなどと言われみんなに愛されているわけですが、アスペクト指向の言語だ…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h