タグ

ブックマーク / alohakun.blog7.fc2.com (2)

  • ホワット・ア・ワンダフル・ワールド JavaScript とか CSS とかについてバイナリアンの立場から一言言っておくか

    とかいうはてぶとかにありがちなタイトル付けはキモイよなぁ… どうでもいいけど. # そもそも僕はバイナリアンじゃないです. まぁ,いまさら言うまでも無いけど,全ての具象プログラミング言語で書かれた具象プログラムは,機械語と考えることもできるんだよね. 例えば JavaScript なんかは,ブラウザという仮想機械の抽象機械語なわけだ.機械語なんだから,IE とか Opera とか Firefox とか,ブラウザごとに挙動や命令 (API) セット全然違っても,それは別に問題じゃない. もっと上位レベルの記述からのコンパイラがあれば良いだけだよね.んで,(よく知らないけど) MacOS のユニバーサルバイナリみたいに,どのブラウザでも同じように動くコードが生成されれば良い,と. 逆に,全てのブラウザの JS の仕様を揃えようってのは,全ての OS や CPU のシステムコールや命令セットを揃

  • ホワット・ア・ワンダフル・ワールド C/C++ コンパイラでの末尾再帰最適化判定

    なんかプチブームに. 末尾再帰最適化をC/C++上で検知してみたい (higepon さん) 末尾再帰最適化判定 (yaneurao さん) 再帰判定 (shinh さん) んで,ちょっと気になったのが. 再帰の最適化 (masa.edw さん) shinh さんの fact のコードは末尾再帰じゃないけど、こういうのもちゃんと解析して最適化するんだー GCC すげー。 いやいや,ちゃんと末尾再帰のコードですがな… 追記 : 全然末尾再帰じゃないです (寝ぼけすぎ…).末尾再帰 (= ループ) に (GCC が) 変換可能なコード,です. shinh さんのコード (質部分だけ) int fact(int x) { return x == 1 ? 1 : fact(x-1) * x; } は, int fact(int x) { if(x == 1) return 1; else ret

  • 1