cygwin 30 11月 2007 C で lisp のwith系マクロごっこ 色々なパラダイムの言語を噛った後に、c をやるのは面白いかもしれない。 例によってcygwin + gccで確認してます。引数を取るマクロ(#define)は、便利なんですが、予想以上でした。プリプロセッサが処理する時は単なる文字列として扱われるという認識です。「マクロの引数に指定できるものは何だろ… 続きを読む
cygwin 30 11月 2007 C で lisp のmember-ifごっこ(lambdaっぽいこと) 今度は、common lisp の member-if に似たことをしようとしてみました。 1: member_if(it, list, new_list, 2: Point* p = it->element; 3: if (p->x % 2 == 0) nil; 4: ); 2,3… 続きを読む
lisp 2 10月 2007 制限時間内のキー入力検査 最近、どう書くに投稿できてませんが、common lispも忘れる前に動かしたいです。 ということで、http://ja.doukaku.org/64/ をやってみようとしましたが、なんだか難しい問題というか問題を理解するのが難しかったです。ちょっと自分でまとめてみました。 制限時間内のキー入力検査… 続きを読む
lisp 23 9月 2007 Meta-Loopless Sorts ソートするコードの生成(http://ja.doukaku.org/63/) 今どう書く.orgにアクセスできなくなってるみたいです。 Meta-Loopless Sortsの改題です. n個の整数をソートするプログラムを生成するプログラム gensort を書いて下さい.条件は以下のとおり 1. … 続きを読む
lisp 9 9月 2007 CLOS(3) メソッドがクラスに属しているように見えるようにする お遊びとして、メソッドがクラスに属していないCLOSをmacroでラップして、メソッドがクラスに属しているように見えるようにしてみました。実用性 0%。 クラスは、define-class class-name slots methods という構文で定義するようにしました。method定義時は、イ… 続きを読む