Entries from 2010-01-01 to 1 year

寄稿しました

とりあえず原稿が形になったの宣伝です。 コミックマーケット 75 で出るらしい謎の雑誌 COMFRK vol.1 に寄稿しました。http://ratiwo.blogspot.com/2010/08/comfrk-vol-1.html内容は C++0x の言語機能 Variadic Templates のお話です。 単なる紹介だけではな…

Rakudo Star Crash のお知らせ

http://atnd.org/events/6687Rakudo Star Crash です。 Perl6 です。 土曜日です。 8 人まではいけます。

snipMate.vim をいじっています

vim

タイピングという、コーディングに於いて本質ではない部分をいくらかでも軽減しようと、 snipMate.vim という vim プラグインを利用し始めたのですが、色々不満な点があったのでいじったりしています。http://github.com/niha/snipmate.vim

twice

0 = \fn. n 1 = \fn. f n 2 = \fn. f (f n) ... (.) = \gfn. g (f n) twice = \f. f . f = \n. f (f n) = 2 (^) = \xy.\fn. (y x) f n \fn. twice twice f n = twice ^ twice = 2 ^ 2 \fn. twice twice twice f n = (twice twice) twice = twice ^ (twice ^ …

こわいはなし

template <typename ...Args> void f(Args... args){ [args...](){ }(); } g++-4.5 -std=c++0x に投げ込むと capture_pack.cpp: In function ‘void f(Args ...)’: capture_pack.cpp:3:8: error: expected ‘,’ before ‘...’ token capture_pack.cpp:3:8: error: expected identi</typename>…

それ pack expansion でできるよ。

#include <tuple> #include <functional> // for result_of template <int ...Indexes> struct IndexTuple { typedef IndexTuple<Indexes..., sizeof...(Indexes)> next; }; template <size_t N> struct BuildIndexTuple { typedef typename BuildIndexTuple<N - 1>::type::next type; }; template <> struct BuildIndexTup…</n></size_t></indexes...,></int></functional></tuple>

C++0x の std::pair

C++0x では std::pair が狂信的な速度狂や偏屈な例外安全性狂信者のため、もとい、より安全で高速なソフトウェアのために、便利になりました。

ICFP プログラミングコンテスト 2010 に参加しました

もう先週のことです。id:ranha さんと一緒に出ました。色々書こうと思っていたのですが、書いてるうちに情けなくなってしまったので、消しました。

ろじかるんるん

ただいま、はてなさん。

(略)を問い詰める会と curry

もう先週になってしまうのですが C++WG 会議の後に行われた「(略)を問い詰める会」に参加してきました。 結構な人数が参加されていたのですが、半分くらいの方としかお話できなかったんじゃないかなあ…少し残念でした。id:rti7743 さんが途中「カリー化っ…