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

あーカラオケ行きたい

あーカラオケ行きたい。

式の型で変数を宣言する

C++

C#3.0では、varキーワードで変数を宣言すると初期化の式から適当にその変数の型を推論してくれる。それをC++でもやってみようと。本格的なヤツはBoostにあるが、それの原理みたいなもの。 #include <iostream> template<typename T> struct type_id; template<std::size_t id> struct id_to_size { </std::size_t></typename></iostream>…

式鋳型を適当に解説

C++

※あんまり用語とか詳しくないから、用法の間違い等を見つけたら、「ぷぷぷ、れジタルゴーストは言葉も知らないらめらめらめっこなのれす」とか心の中で思いつつ、優しく訂正してあげてください。 これは、本来C++で足し算的なものを実装しようとすると、 vec…

式鋳型

C++

書いては消しを繰り返しているもんだから何も進んでいない。なんかおもろいもんは無かろうか?循環参照も殺せるスマートポインタとか面白そうだが、参照を追跡しようと思ったらクラスのメンバーにあるスマートポインタを追跡する必要があって、こればっかり…

アクサンシルコンフレクスで修飾された型

Foo^ってのはC++以降のOOPなCの一族で言えばFooになるのね。ガッテン!ガッテン!ガッテン! えんいー

配列リテラル

C++

欲しいと思ったから書いてみたが、これはひどい。 とりあえず8要素までで。

日本vs

ハンバーグ焼きながらふと居間のテレビに目をやると、バレーボールの日本の対戦国が「アルトネリコ」に見えた。俺の目はもう末期かも知れん\(^o^)/

カリー化

C++

boost::functionが void func(int, int); boost::function<void (int, int)> foo = func; boost::function<void (int)> bar = foo(1); bar(2); // func(1, 2) というようなことをできるようになっていればよかったのに。 そうすればカンマをオーバーロードしてLisp@C++とかできるのに。自</void></void>…

忘れていたがinline-block

CSS

Firefox3ではinline-blockが使えるようになっている。というわけでfloatが嫌いな私はそれを使ってcolumnを実現することにする。 floatとmarginとかpaddingが絡むと動作を理解するのが非常に面倒である。また、positionをabsoluteもしくはrelativeにする方法…

デフォルトは重要

数日前の話。Firefoxが落ちたので、そういえば最近ビルドしていないな、と何も考えずにソースを引っ張ってきてビルドしたのが間違いだった。3, 40分ぐらいだろうか、いつものように適当に適当に時間をつぶしたのち、ビルドが終わったFirefoxを起動してみた。…

本が溜まった

金曜の会社帰りに梅田の紀伊国屋に寄った。普段なら今読んでる本があるならそんなことはしないのだが、前回買った本が相当に分厚く、まだ半分も読んでいないので(通勤途中しか読んでないからなんだが)、まぁ新しい刺激が欲しくなったわけである。そんなわ…

「私の理解が正しいとか正しくないとか、そら芸者の時に言う話やがな」

以下は私がLispのごく初歩的な文書から得た情報を、私なりの解釈を整理するために書いているもので、仮に私自身の理解が正しかったとしても、言葉としてそれを表現した場合、(いつもよりも)多分に間違いを含んでいる可能性があるが、どうせ正しく理解した…

こねくり回すと何か直ってきた

ubuntu Hardyメモ。 _が入力できなかったのだが、これはkeyboard layoutにjpを追加した後、元あった項目を全て削除すれば直った。Winキーを認識しなかったのについては、/usr/share/X11/xkb/symbols/jpに、 key {[Super_L]}; を追加したらキー設定でWinキー …

タブレットを使えるようにする

ubuntu forumのこのスレッドの通りで動かんかった。何でやとか思ってxorg.conf見てみたら書き換えた箇所が元のままではないか?ん?そういえばxorg.confのバックアップを取ったあと修正したのって…あ、やっぱりバックアップの方修正してた。というわけでまた…

きれいに消えたがきれいに戻す

データが。ノーパソに移したと思って消したデータが実はまだ移していなかったデータだったという罠。なんてこった。そこには私のお宝ほげほげが大量に眠っているというのに!しかしリカバリツールでこんなにすっきり戻ってくるとも思わなかったが。とりあえ…

Xubuntuアップデート

これもまた気付くのが遅かったが、Xubuntuを8.04にアップデート。感想としてはフォント描画がものっすごい変わった。ただヒント設定が効いてない。あとWinキーも効かん。割とウィンドウの最大化とか隠すとかに使ってから不便。もちっと設定探してみるか。あ…

世界のFizzBuzz

ナベアツ ≒ FizzBuzzだよね。みんなそう思うよね。俺どんだけ気付くの遅いねん。

作って分かるLisp

C++

昨日の何かメモを整理して、 schime.hpp Lispっぽく書くことを第一としたのに、逆に構文が異様なことになっているが気にしない。 d<T, U>はドット対。l<T1, T2>はd<T1, d<T2, empty> >を、l<T1, T2, T3, ..., Tn>はd<T1, d<T2, d<T3, ...d<Tn, empty> ...>を生成するためのマクロ的なもの。マクロからリストを得るにはl<...>::type。リストを評価す</t1,></t1,></t1,></t1,></t,>…

私の理解したところだと、

以下4つのlisp式をそれぞれドット対に変換すると、 ;1 (setq x '(1 2 3)) (setq.(x.('(1.(2.(3.()))).()))) ;いや、これは違うな (setq.(x.('(1.'(2.'(3.()))).()))) ;こうか?いや、 '(1 2 3) ;これが (quote (1 2 3)) (quote.((1.(2.(3.()))).())) '((1.(2…

メモ

C++

namespace tysp { // lisp for type // nil struct nil { typedef nil first; typedef nil second; typedef nil type; }; // t struct t { typedef t first; typedef nil second; typedef t type; }; // list template<typename T, typename U> struct list { typedef T first; typed</typename>…

初任給をもらった

そのお礼に家族から文句をもらった。腹が立ったので全額くれてやった。それで飯食うなりケツ拭くなり好きにしろボケが。 えんいー

ガリガリしてて重い

ここのところ起動してからしばらくするとどうもディスクアクセスが激しいと思い、とりあえずプロファイルフォルダを覗いてみたらurlclassifier3l.sqliteがものすごい勢いで成長している。しばらく放置して様子を見たが、全然止まりそうにないので一旦終了し…