2011-03-01から1ヶ月間の記事一覧

symbol-macrolet 更新しました。

NetInstaller 用 packages.l multiple-value-bind の body の先頭に symbol-macro を置いた場合に展開されなかったのを修正。どうして以前 lambda でほぼ同じバグを潰した時に修正しておかなかったのかと小一時間問い詰めたい。 ついでにリファレンスのファ…

Yet Another Common Lisp Problems #5 take

●問題5 リスト xs の先頭から n 個の要素を取り出す関数 take xs n を定義してください。 > (take '(a b c d e) 3) (a b c) > (take '(a b c d e) 0) () > (take '(a b c d e) 6) (a b c d e) 解答 ホームページ移転のお知らせ - Yahoo!ジオシティーズ 無駄…

Yet Another Common Lisp Problems #4 my-last, my-butlast

●問題4 リスト xs の最後尾を求める関数 last と、最後尾の要素を取り除く関数 butlast を定義してください。Common Lisp には同等の機能を持つ関数 last と butlast がありますので、ここでは関数名を my-last と my-butlast としました。 > (my-last '(a …

Yet Another Common Lisp Problems #3 longerp

●問題3 リスト xs はリスト ys よりも長いか調べる述語 longerp xs ys を定義してください。 > (longerp '(a b c) '(a b)) t > (longerp '(a b) '(a b)) nil > (longerp '(a) '(a b)) nil 解答 ホームページ移転のお知らせ - Yahoo!ジオシティーズ これも O…

Yet Another Common Lisp Problems #2 doublep

●問題2 リストの要素が二つあるか調べる述語 doublep を定義してください。 > (doublep '(a b)) t > (doublep '(a b c)) nil > (doublep '(a)) nil 解答 ホームページ移転のお知らせ - Yahoo!ジオシティーズ doublep って double-float-p と間違えそうだ。…

Yet Another Common Lisp Problems #1 singlep

なんか見つけたので気が向いた時に解いていってみよう。 ●問題1 リストの要素がただひとつか調べる述語 singlep を定義してください。 > (singlep '(a)) t > (singlep '(a b)) nil > (singlep '()) nil 解答 ホームページ移転のお知らせ - Yahoo!ジオシティ…