D

reflection.d on Windows

http://shinh.skr.jp/d/reflection.tar.bz2YTさんにリンカの/MAPオプションを教えてもらったので、頭悪めのリフレクションライブラリをWindows でも動くようにしました。 build_win.sh が実行するためのコマンドです。binutils の ld と DigitalMars の link…

ダメ mangling

i@u wrk/d/reflection> cat test.d class test { void test() {} } void test() { void test() {} } i@u wrk/d/reflection> dmd test.d test.d(4): function test conflicts with test.test at test.d(1) どうしたもんかね…こっちはまあいいとしてもね。 i@u…

reflection.d

D で Reflection 。言語の助けは借りない。今までの謎の作業の集大成的なもの。(参考: ccall_direct,gdcc,dfilt)http://shinh.skr.jp/d/reflection.tar.bz2 class Test { void test_func1() { std.stream.stdout.writeLine("func1"); } void test_func2() { …

gdcc - D を C から触るブリッジというかなんというか

C から D を呼びたい場合、が仮にあるとすれば、まあ常識的には C 向けインターフェイスを書くわけです。ただその際インターフェイスのコードによるほんの少しの速度低下とコード増大と、それなりに発生する手間というオーバヘッドがあります。手間を削減す…

FileMode.Out

私はなんどか苦しめられたんですけど、かれこれ一年の間ほどの間で一度も指摘されていない気がする。考えられるのは、 全く問題ない どこかで指摘されているがアホの私は気付いてない 誰もこの問題に遭遇してない どうでもいいや。 import std.stream; int m…

0.89

やはりなにはともあれ Mixin できるようになったのは嬉しいな。コンパイル言語ではアスペクト指向の言語以外ではなかなか無い、よね。

Mixin

が来るらしい。寝て起きたら世界が動いてたっつうかみんな反応はええ。(特に翻訳) http://pc5.2ch.net/test/read.cgi/tech/1079068715/421 http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/1230 http://www.kmonos.net/alang/d/mixin.html http:/…

だからどうした感が強い

http://d.hatena.ne.jp/santamarta/20040505#1083746401 より。追記: ああリンクがうまくはれてないねえ。なんでだろう。一個下の項目にはりたかったのですが。 import std.string;import std.file;void main(char args){write(args[2],replace((char[])read…

MacOSX における D言語で書かれた SDL アプリケーションのコンパイル法

書きました。何回かに分けて書いたのと、最初のうちは何故か客に納品するドキュメントに見られるような書いてても読んでいても馬鹿にされているような気になる文章を書きたくなって途中で辛くなって修正したというわけのわからん経緯によってなんか不気味な…

the benchmark of GDC

ベンチマークを作りました。元ネタ (http://www.functionalfuture.com/d/)環境は Duron800MHz, 128MB, FedoraCore1 と 1.91 の中間 (glibc-2.3.3) , linux-2.6.3, gdc-r1f-gcc-3.4.0, dmd-0.82GDC1 は gdc -O 。 GDC2 は gdc -O3 -fomit-frame-pointer -ffas…

gdc on FreeBSD!

http://p19.aaacafe.ne.jp/~shinh/diki/diki.cgi?FrontPageおっけーちなみに Solaris でも gdc までは作れたけど phobos につまづきました。 C99 のヘッダが無いみたい。

gdc release 1f!

http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/605 http://home.earthlink.net/~dvdfrdmn/d/Cygwin and FreeBSD!とりあえず FreeBSD インストールしよう…とりあえず恥をかきつつも Linux と MacOSX でビルド完了。私が報告したバグ全部治っててとてもう…

dfilt.d

いくらかマシにしました。が、まだまだ完璧には遠いです。D の template の mangling はいいかげんすぎると思うのです。まあ、 template の機能外した方が良いかもしれません。

factory

ABAさんがやりたいとおっしゃっていたことはこういうことではなかろうか。 private import std.string; abstract class Base { void p(); } class C1: Base { void p() { printf("C1\n"); } } class C2: Base { void p() { printf("C2\n"); } } class C3: Ba…

D と MacOSX と SDL その2

PARSEC47 はだいたい動きました。 TumikiFighter も画像の通りゲームはできてます。まだまだある問題点。 SDL_PumpEvents で落ちる。 QZ_PumpEvents から InputMethod まわりのイベントを拾うタイミングで落ちる模様。 SDL を直接いじって対処。 InputMethod…

D と MacOSX と SDL

上に表示されているわかりにくいであろう画像の通り、PARSEC47 が動いています。画面ではわかりにくいですが(当たり前)、落ちています。まだあと少し、かな。リンクはこんな感じでした。/usr/bin/gcc -o p47 bulletml/libbulletml_d.a ~/local/macosx/lib/…

つまらないものですが

大昔に書いた D言語はいかが。

http.d

どうせ必要なので実装。一応 0.9, 1.0, 1.1 のクライアントとして機能するはず。使用例は unittest を参照されたし。今まで必要な部分だけ眺めていた RFC をざっと眺めてみた。ずいぶん無駄の多いプロトコルだなと思った。例えばヘッダの Connection: close …

正しい(かどうかはわからない) gdc for arm-linux

リナザウも D言語の時代到来さー。(以下の記述は d-for-gcc-r1d での記述です)binutils > tar -xvzf ~/arch/binutils-2.14.tar.gz > cd binutils-2.14.tar.gz > ./configure --target=arm-linux --prefix=/usr/local/stow/gcc-gdc-arm-3.3.2 --host=i686-red…

D の欠点

id:ABA:20040326#p1結局、若い言語だってことなんですよね。ムリに擁護してみよう…ライブラリについては結構あると思うんですよね。ゲームは問題無しとして、ソケットも今回無問題でしたし、 GUI も DUI は gtk をきっちりラップしてる感じでした (Win32 で …

gdc

すごいすごい。報告したバグすぐ直してくれました。ありがたや。 attohttpD と PARSEC47 が動いた。 MacOSX 版ももうじき作れる予感。 MacOSX で SDL をダイナミックロードする方法がわかっていないのをなんとかしないとですが。リナザウでも色々動かしてみ…

gdc

展開して gcc の real.h と rtl.h への patch あてて普通に configure make で OK 。簡単。ええと、submarine は動いた。すげー。 attohttpD, krok はコンパイルできなかった。 PARSEC47 はかなり修正して、リンクでコケた。リンクは通せる感じがしているけ…

Another front end for GCC

まじでー。

D HTMLフィルタプロキシ

すばらしい。というわけで linux 対応しようとしたところ、 proxy 動作はするけど filter 動作はしてくれない。はーん。 phobos の RegExp がよくわかってないのかな。とりあえず途中までということで。(http://shinh.skr.jp/tmp/poo.tar.bz2) 続きはまた今…

D言語についてそういや何か書いた

9月頃にふと思って D言語についてしょぼしょぼ書いて、Cマガに送りつけたのについて 6月号に載せるとか返事をいただいた。論点は以下の通り。 時期が時期だけにまあほとんど書き直しだろう 送った直後に interface に載ってた。そろそろ出る SD に載るらしい…

tuple.d

よいこのみんなーめたぷろぐらみんぐのじかんだよー。と書くと大方の人がすぐに戻るボタンをクリックしてるのではないか。K.INABA師匠(勝手に弟子入り) には勉強させられてばかりですなあ…と思いつつ typelist を書き直してたんですけどこれだけではつまらん…

gdmd

i@u src/build-gcc/gcc> cat check.d ~/src/build-gcc/gcc 16:00 extern (C) void printf(char*, ...); void hello() { printf("hello\n"); } extern (C) /* declare as extern (C) until D's main works */ int main(char args) { printf("hello world.\n")…

メタ記述

といえばやねうらおさんも考察されていたわけですけど (http://www.sun-inet.or.jp/~yaneurao/newlang/chap0000.html)、 ぶっちゃけ気合い入ったプリプロセッサってスクリプト言語になるわけで、…つまり eruby で書いちまえ。Typelist1 から 4 を template T…

typelist.d

良い子のみんなーめたぷろぐらみんぐの時間だよー。とりあえず Typelist を書きました。参考書はもちろん Modern C++ Design 。 class NullType {} class Typelist(H, T) { static H head; static T tail; } template Length(TL) { enum { value = 1 + Lengt…

C99 and D

問題。 i@u ~/test/d> diff comment.c comment.d ~/test/d 21:47 i@u ~/test/d> gcc -o comment comment.c ~/test/d 21:48 i@u ~/test/d> ./comment ~/test/d 21:48 it's c code i@u ~/test/d> dmd comment.d ~/test/d 21:48 gcc comment.o -o comment -lpho…

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