謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

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

>

全体として見て副作用が無いように見えれば無いのと同じ

なわけなのに… struct A{ int i; void setI(int i){ this.i = i; } } A foo(){ A a; a.setI(10); // setI関数が単体としては純粋関数でないばっかりに return a; } void main(){ enum a = foo(); // これがエラーになるのが納得できん。 } http://gcc.gnu.or…

C呼び出し規則のcallbackにdelegateを渡したい

ヒープに関数置けばあまり良い方法で無いにせよできるはず。 ってことで、以下のようなの作った。x86 + cdecl(おまけでD呼び出し規則) + ヒープでコードが実行できる環境向け。 alias extern(C)void function() CFunc; invariant ubyte[] ret = [0xc3]; inva…

Ubuntuの全てのソースパッケージのBazaarブランチができた

https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-November/000514.html ktktkt! でもこれのせいかLaunchpadのbzr鯖が遅くなって俺涙目w

OpenGL port for D 2.021

Ubuntu 8.10ベースで作った。linuxで軽くしかテストしていない。再開発万歳。 https://code.launchpad.net/~lovesyao/+junk/opengl4d glutはfreeglut3-devベース。理由はlibglut-devで入れるとそれが入るから。

ポインタ先をconstやinvariantにする事で最適化されるのか?

volatileとの兼ね合いで、標準でマルチスレッド安全にならないとしたら、別に関係なくね? と思ってしまうが。

dmd 2.021

pragma(lib,"");がLinuxでも使えるようになったのが大きい。 foreachが内部イテレータから外部イテレータに(empty、head/next、toe/retreat)。 safeはただ追加しただけで実装はまだのようだ。 構造体のthisが参照になるのは悪くない。まぁ参照理解してないと…

echo -eはbashism

lintianに言われた。タブ出力に使っているのだが、どうしろと。 正解はprintfを使う。改行が含まれないので注意。 にしてもprintf使ってくださいと言ってくれればいいのになぁ。

gccの代わりとしてのllvmを使おう(4)

おまけでalchemy。インラインアセンブラのせいでコンパイルできなくてもおかしくない。 がassertで落ちるのでそれ以前の問題。 $ /opt/build/alchemy-ubuntu-v0.4a/bin/llc --march=avm2 ffplay_g.bc llc: /home/user/dev/flacc/llvm-2.1/lib/Bitcode/Reader…

gccの代わりとしてのllvmを使おう(3)

cへの変換も失敗。ただcppへの変換に成功…なんと204.6MB! $ llc --march=cpp ffplay_g.bc /usr/bin/g++ ffmpeg_g.cppでコンパイルしてみた。 $ /usr/bin/g++ ffmpeg_g.cpp In file included from /usr/local/include/llvm/BasicBlock.h:20, from /usr/local/…

gccの代わりとしてのllvmを使おう(2)

続き。JITではinlineアセンブラサポートしていないようなので。 llcでコンパイルしてやる。にしても後でarchが切り替え可能なのに、inline asmでarchが決まってたら勿体ないよなぁ。 $ llc --march=x86 ffplay_g.bc llc: LiveInterval.cpp:257: void llvm::L…

gccの代わりとしてのllvmを使おう(1)

ということでこんなの書いた。既にあるだろうけど、再実装。 https://code.launchpad.net/~lovesyao/+junk/llvm-gcc-compat 使い方は/usr/local/llvm-gcc-compat辺りに移動して export PATH=/usr/local/llvm-gcc-compat:$PATH gcc hello.c ./a.out んで気が…

llvm-gcc -emit-llvmの速度は--enable-finalと比べるべき

ただ--enable-finalはKDE系でしか使えなかったはず。ようは一つのファイルにしてコンパイルって話。 -fwhole-program --combineでも良いはず…?

>

Panic Shooter

http://shinh.skr.jp/m/?date=20081123#p07 この世と別のルールを持った空間ってのが面白いなぁ。 三次元だとどうなるかが気になった。ルールが問題になるのかな。 三次元のライフゲーム見つけた。うーむ。 http://www.nicovideo.jp/watch/sm3035103 http://…

Processing.js

http://d.hatena.ne.jp/amachang/20080509/1210355674 面白そう。後で試す。

cscope

gtags (global)より良いらしい。後で試す。

>

GUIがスレッドかイベントか

ある処理に依存する入力/出力コントロールを明示すれば、自動マルチスレッド化できそうな気がするのだがなぁ。ああ、もちろん駆動はイベントでだけど。

LLVM

コンパイラフレームワークという立ち位置は正しい。 JITについては懐疑的だが、使わなくても良いというのは良い。 バイトコード変換、バイナリ変換をも纏めるというのは良い。 リンク時の動作もLLVMの方が良かったような。 ということで将来性確実。 という…

Whitespaceless Hello world in D

一方、D言語は出力関連のを使おうとするとimportが必須で、しかもimport(std.stdio);みたいな書き方は出来ないので無理。 できるよ! int*x;typeof(*x)y;extern(C)typeof(y)printf(char*,...);typeof(y)main(){printf(cast(char*)"Hello,%cworld.",0x20);ret…

anthy depgraph 表示器(仮)

ありそうなのから無さそうまで。オモロいなぁ。 動いちゃえざるをですしとしかんく 動けせてはるのでもんくとりましぇん 動けるよりはねとならんかっ 動けるまいなあとのことでさえもへんとは 動くみたいでもあれたし 動けよとのことでさえせられろってんだ …

Gmailのテーマ

Web

静的なテーマが主流の今にギミック付きテーマは良いねぇ。

anthyのdepgraphで遊ぶ

https://code.launchpad.net/~lovesyao/+junk/depgraph パース&ランダム出力してみた。以下出力例。ちゃんとAnthyで一文節で変換される。オモロい。 $ ./depgraph random 動詞終止形 動く 動くやとのことでさえすっかで 動くべければとも 動くさとか 動くみ…

>

debian/watchの無いdebが多くて困る

http://dehs.alioth.debian.org/uscan.html 正規表現で可能と。 llvmなら version=3 http://llvm.org/releases/download.html \ ([\d\.]*)/llvm-([\d\.]*)\.tar\.gzこんな感じ。

QGtkStyle

2chで知ったもの。https://launchpad.net/~martin-espinoza/+archiveにhardy向けしか無いのでintrepid向けにして自分のPPAにcopyしてインストール。 んでシステム->設定->Qt 4設定からスタイルをGTKに。 微妙に異なるが以前よりマシ…だがうーむ色々気になる…

Alchemy

http://shinh.skr.jp/m/?date=20081119#p01 ASへの変換kt llvmdc試し時だなぁ。でも今は他の事したいのだが、、、でも他の誰かが試してくれるわけでもなし、、、。

ぼくのかんがえたさいきょうげんごを作ろう

現時点ではD言語最強だよね、という人向けに。 方法。dmdのフロントエンドがオープンソースで公開されているが、バックエンドはgccかllvmかそれとも新しく作るしかないんです。 D言語で書きたいならフロントエンドだけだがdparser(http://www.dsource.org/pr…

Pythonで日本語出力

2chを参考にしながら作ってみたが、バイナリ表示に一苦労。 コマンド プロンプトはエスケープシーケンスをサポートしてなかったという罠。ビープ音は出るのに…。 utf-16のBOMを区切りとして使って無理やり実装。 Python良く知らんのや面倒という理由でコード…