不定期的「言語むつかしい」タイム

上のエントリ書きながら思ったんだけど、句読点多すぎても読むのにどうも詰まってしまうし、少ないと節が分かりにくくなってしまう。 だから節を入れかえたり、肯定と否定、能動と受動を逆にしたりするんだけど、そうすると、文が表わす事象は同じでも、元の…

お前がそう思うんならそうなんだろう、お前ん中ではな

(プログラム的な意味での)ある関数fがあったとして、fは内部に何事もなく処理できた場合と、そうでない、例えば引数が間違っているとか、そういう場合の処理があったとして、エラーだからどうしよう、例外でもポイしておきましょう。 function f(x) { if (…

Boost.勉強会のお知らせが来たので

C++

http://atnd.org/events/1839 http://d.hatena.ne.jp/faith_and_brave/20091015/1255594060 http://d.hatena.ne.jp/faith_and_brave/20091016/1255665216 参加しましょう。というか猛烈な速度で参加人数が増えていますが…追記:すごい勢いにつき、あっという…

会社・圏・トポス 現代的企業像を求めて

土曜日は層圏トポス米田フェスティバル@矢上祭(他の人の感想とかはこっち)に参加し、日曜日はあやしげな会合に出席するため、神奈川でお馴染みの横浜に行ってきた。 前と同じように、uskzさんと新大阪に集まることになったが、今回は無事合流できてよかった…

Imaginary Template Metaprogramming in D

D

D言語を使って脳内でメタプログラミングして遊んでみる(コンパイルできる環境が手元にないので想像)。本当にただの妄想なので、そこのところは了承してちょんまげ。 template Tuple(xs...) { alias xs Tuple; }いつの間にかPhobosから削除されていたけど、…

1から10まで足すんだって、プリプロセッサで

ネタ元:http://d.hatena.ne.jp/RiSK/20090930/1254307989 同じ方法でやっても面白くないので、なんか違うアプローチをとってみました。 #include <boost/preprocessor/repetition/repeat.hpp> #include <boost/preprocessor/repetition/repeat_from_to.hpp> #include <boost/preprocessor/seq/size.hpp>#define PAREN_I(z, n, d) BOOST_PP_REPEAT(n, PAREN_II, _) #…</boost/preprocessor/seq/size.hpp></boost/preprocessor/repetition/repeat_from_to.hpp></boost/preprocessor/repetition/repeat.hpp>

プリプロセッサでFizzBuzz

ネタ元:http://d.hatena.ne.jp/bleis-tift/20090929/1254185496 #include <boost/preprocessor/arithmetic/inc.hpp> #include <boost/preprocessor/arithmetic/mod.hpp> #include <boost/preprocessor/cat.hpp> #include <boost/preprocessor/control/expr_iif.hpp> #include <boost/preprocessor/control/iif.hpp> #include <…</boost/preprocessor/control/iif.hpp></boost/preprocessor/control/expr_iif.hpp></boost/preprocessor/cat.hpp></boost/preprocessor/arithmetic/mod.hpp></boost/preprocessor/arithmetic/inc.hpp>

アヒルとあと何か見に行ってきた感想

今日一人でアヒル見にいってた。 数日前から行こうと考えてて、ようやく重い腰を上げたのが今日の夕方だっただけの話である。電車賃を一番安く上げるため、通勤で使っている定期を使って淀屋橋まで行って、そこから京阪に乗ることにした。車中のお供は、よく…

新世界行ってきた感想

いとこが来てたので、日曜日にいっしょに新世界を観光した。 新今宮の周辺は大変エキサイティングな町として知られている…けどそっちのほうではなく、まず駅のすぐ近くのスパワールドに行った。駅からだとスパワールドに行くまでに廃墟が存在するので、別に…

HAMA.jp 開催中です

人のいないところでマルチキャストしても意味ないけど、 http://atnd.org/events/1048 です!Haskellに興味のある型もない型(←わざと)も、ぜひご覧あれ!

二項演算子を前置する遊び

#include <utility> #include <tuple>namespace prefix_op {namespace detail {template<size_t N, typename T> typename std::tuple_element<N, T>::type & get_with_tuple_ref_collapsing(T & tup) { return std::get<N>(tup); } template<size_t N, typename T> typename std::tuple_element<N, T>::type && get_with_tu…</n,></size_t></n></n,></size_t></tuple></utility>

わんくま名古屋に突撃した

先週の土曜日はわんくま名古屋に行ってきた。 行きは近鉄特急で。乗ったのはアーバンライナーNextで、おばちゃんが多い。安いからいいのだけど、おばちゃんが多い。幸いなことに席が窓際だったので、車窓からの風景を楽しみながらの移動だったが、隣はおばち…

範囲つきintのガワを適当に書いてみた結果

template<int Min, int Max> struct ranged_int { ranged_int() = default; ranged_int(ranged_int const &) = default; template<int N, typename = enable_if<(N >= Min) && (N < Max)>::type> ranged_int(integral_type<int, N>) : n_(N) {}; template<int Min1, int Max1, typename = enable_if<(Min1 >= Min) && (Max1…</int></int,></int></int>

http://twitter.com/pororocakka/status/3726553400 モーメント回転寿司 モーメント回転寿司(Momental Sushi Circular Comveying System. 「MSCCS」や「M-スシシースー」とも呼ばれる)とは、回転軸を持つ筒状の物体の内壁部分にコンベアを設置し、その軸を…

プリプロセッサで再帰しましょう!

みなさまいかがお過ごしでしょうか?さて、今日のテーマは「再帰」です。プリプロセッサでは再帰が扱えないので、例えば、 #define PP_APPLY(f, x) f(x) #define HOGE(x) PP_APPLY(PIYO, x)という定義があったとして、 PP_APPLY(HOGE, FUGA)とか書いてあると…

ターヘル・アナトリア(東京見聞録)2

しばらくすると、めるぽんさんが来た。そういえば指定されたのは確か階段降りたところだっけ…また間違えたのか…なんかもう自分がどうしようもない。階段を降りると、id:wraith13 の道化師さんと、 片手にC++ Templatesを提げた id:uskz さんがおられた…なん…

ターヘル・アナトリア(東京見聞録)1

あまりにも長くなりそうなので適当に投下。 まずuskzさんと合流できなかった。待たせてしまった上に結局現れられなくてほんとうに申し訳ないです… とりあえず新大阪駅近くのネカフェに入り、twitterにて id:melpon さんに相談に乗っていただき、夕方、委員会…

東京に行ってきます

なんかFLTVというイベントがあるので参加するために東へ旅立ちます。と言ってもこれは日曜日ですが…いつの間にやら話の流れで土曜日に行ってお台場ガンダムを見物することになりました。id:uskzさんid:melponさんお世話になります… 新幹線は初めてなので、振…

tieで初期化させろ

#include <boost/preprocessor/tuple/elem.hpp> #include <boost/preprocessor/tuple/rem.hpp> #include <boost/preprocessor/seq/fold_left.hpp> #include <boost/preprocessor/arithmetic/inc.hpp>template<size_t N, typename T> typename std::tuple_element<N, T>::type & get_with_tuple_ref_collapsing(T & tup) { r…</n,></size_t></boost/preprocessor/arithmetic/inc.hpp></boost/preprocessor/seq/fold_left.hpp></boost/preprocessor/tuple/rem.hpp></boost/preprocessor/tuple/elem.hpp>

Boost.Lambdaでletとかwhereを書かせろ

#define LET(var) [&] { var IN #define IN(body) return body; }() #define LAMBDA(def) [&] { LAMBDA_WHERE(LAMBDA_WHERE_I def) return LAMBDA_BODY def )); }() #define LAMBDA_WHERE_I(body) LAMBDA_WHERE_II #define LAMBDA_WHERE_II(where) NIL where…

template specialization

C++

template<typename T> struct a { template<typename U> struct b { template<typename V> void f(V) {} template<> void f<int>(int) {} }; template<typename U> struct b<U*> { int x; }; }; void f() { a<int>::b<int*> y; y.x; a<int>::b<int> z; z.f(1); }特殊化は定義したスコープでも書けるのか…</int></int></int*></int></u*></typename></int></typename></typename></typename>

多相型ラムダ作ろうとして肝心なことに気付いてやめるまでのメモ書きそのまま公開

C++

あと http://d.hatena.ne.jp/DigitalGhost/20090216/1234793120 は0引数のとき対応できない。だからポインタを作ってというのもあるのかも知れない…ダミーパラメータで0とか付ければなんとかなるか…あーそうか、typeof(a)とか型定義の中だとaが見えないから…

decltypeが括弧あるとかないとかで色々

n2914 7.1.6.2.4 The type denoted by decltype(e) is defined as follows: if e is an unparenthesized id-expression or a class member access (5.2.5), decltype(e) is the type of the entity named by e. If there is no such entity, or if e names a…

例外についての続き

前回 : http://d.hatena.ne.jp/DigitalGhost/20090809/1249846726 ふむ、前に書き散らかしたときよりは随分まとまっている気がする。ええこっちゃええこっちゃ。 で、多重継承ではなんとなーくうまくいかないような気分でいると、これまたなんとなーく文字…

最近は例外に関する主張・考察・その他何かを書くのが流行っているらしいので私も一つ

追記: ここで言う「エラー」「エラー処理」は、「例外」「例外ハンドリング」と置き換えて読んでください。 あと元ネタへのリンク http://d.hatena.ne.jp/bleis-tift/20090809/1249825777 と、この記事が踏まえている話 http://d.hatena.ne.jp/DigitalGhost…

現在ついたにアクセスできない

現在ついたにアクセスできない 追記: Twitter tanks on Thursday morning ということで、どうやら私だけではなかったようだ。 追記2: 未だ戦闘中。 Twitter Status - Ongoing denial-of-service attack がんばれ!超がんばれtwitter!

副産物

C++でDとかC#のデリゲートっぽい物体自動生成機を書こうとしたけど id:xyuyux さんが既に完成させはったということで、私は副産物でも。 http://codepad.org/ZECUiV5V (OPEN から END) まで、括弧がバランスなら何書いても引数に取って展開できるマクロの仕…

最近ゲームとか全然知らんかったので気付かなかったけど、なのはさんが

PSPでベルカ戦争、はじめました これは…! バンナムか…どうしてタイトルが「リリカルなのはACE COMBAT」ではないのか問い詰めたい http://twitter.com/DecimalBloat/status/2925059800 アクセルシューターをミサイル代わりに撃つなのはさん、ディバインバス…

久しぶりにtrunkをビルドしてみる

備忘録。 ビルドしてみるとlibnotifyくれくれって言われたのでapt-get install libnotify-devした。 あとなんかwifiとかいらんから--disable-necko-wifiとかもした。 終わり。こんな短い日記久しぶり。と思ったけどそうでもなかった。

プリプロセッサで代入しましょう!

さて今回は代入です。とはいっても関数マクロを展開中に代入とかは無理です。なので、#defineで、プリプロセスシンボルに代入しましょう。 あともうかなりめんどいので超展開で話が進みます。 #define A 1 #define B A #undef A #define A 2 B 最後の行のBは…