SELL YOUR ABENOMIX!  NO WAR on SYRIA.

Israel government must not create another ghetto around Palestinan people.

Mr. Barack Hussein Obama, please stop declaring missile terror again, act like a Nobel prize holder.

The US Forces Shall Withdraw from Middle East and Japan

日本人は馬鹿ぞろいじゃなかった! 祝!政権交代実現!祝!民主党社民党連立政権樹立! 本当にいい選挙でした
今後新政権には、頑張って、高速道路無料化、揮発油税等の暫定税率の完全廃止、 最低賃金の全国平均1000円、定住外国人の地方参政権を実現して欲しい
嫡出推定制度の改善、選択的夫婦別姓の導入、婚外子(非摘出子)の相続差別 をなくすなど、アナクロな明治をひきずった民法改正も即やって欲しい
日の丸君が世の入学式卒業式での掲揚斉唱廃止、作る会教科書の駆逐など、 日教組教育の推進に努め、愛国心教育や前政権が行なっていた 馬鹿げた道徳教育を排除して欲しい
糞神社靖国に代わる特定の宗教性をもたない 新たな国立追悼施設の設置もすぐやるべきだ
縦割行政による無駄使いの廃止、官僚の天下り全面禁止は勿論、 道路建設や整備新幹線計画などすべて廃止すべきだ
白痴の元馬鹿総理、森喜朗の落選運動は、 私はずっとやっていこうと思ってます。

白痴の元馬鹿総理、しぶとい森喜朗を次こそ落選させよう! 民主党政権を支持します

GNU/LinuxでCommon Lisp開発

ANSI Common Lisp動作環境の設定

rpmforgeを設定した状態で、rpmforgeのパッケージ群から、
yum install clisp
で、ANSI Common Lispのバイナリパッケージをインストールする
clisp-2.42-1.el5.rfバイナリパッケージがインストールされる
依存関係からlibsigsegv-2.4-1.el5.rfバイナリパッケージもインストールされる

とりあえずANSI Common Lisp動作試験

実用 Common Lisp (IT Architects’Archive CLASSIC MODER)
(ピーター・ノーヴィグ著)

の初期のAIプログラム、GPL1(一般問題解決機)を動作させてみる

当面問題になったのが、この本に載っている、 コードを取得する方法、が機能しない事
匿名ftpサーバ、mkp.comに、ユーザ名anonymous、 パスワードに接続者のメールアドレスを指定して、 匿名ftpでログインでき、
/pub/novigから コードをダウンロードできるように、 付録:A.1(ページ845〜ページ846)に記載があるが、
匿名ftpでのログインが出来ず、Login failedで失敗し、 コードのダウンロードが出来ない
この件については、日本語版の出版元である翔泳社の、 SEメンバーシップホームページ http://sems.shoeisha.com/ でメンバーシップ登録した後、
問い合わせてみたら、速やかに回答が帰ってきた
早急に必要であれば、以下の著者サイトから取得してください。
・Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp(著者による本書サイト)
http://norvig.com/paip.html
http://norvig.com/paip/README.html(ソースコードページ)
との事、一気に解決2時間足らず、 やっぱりサポートってこうでないとね 翔泳社さん偉いっ (^ ^)/

% clisp
...
...
Welcome to GNU CLISP 2.41.1 (2007-10-12) ...
Type :h and hit Enter for context help.

[1]> (load "gps1.lisp")
;; Loading file gps1.lisp ...
;; Loaded file gps1.lisp
T
[2]> (gps '(son-at-home car-needs-battery have-money have-phone-book)
'(son-at-school)
*school-ops*)

*** - EVAL: undefined function FIND-ALL
The following restarts are available:
USE-VALUE :R1 You may input a value to be used instead of (FDEFINITION 'FIND-ALL).
RETRY :R2 Retry
STORE-VALUE :R3 You may input a new value for (FDEFINITION 'FIND-ALL).
ABORT :R4 ABORT
Break 1 [3]> :R4
[4]>

なんか問題があるみたい、FIND-ALLが未定義って事かな

まあこれは、auxfns.lispで定義されている関数なので、 auxfns.lispをロードする必要があると判断

[4]> (load "auxfns.lisp")
;; Loading file auxfns.lisp ...
** - Continuable Error
DEFUN/DEFMACRO(SYMBOL): # is locked
If you continue (by typing 'continue'): Ignore the lock and proceed
The following restarts are also available:
SKIP :R1 skip (DEFUN SYMBOL # ...)
STOP :R2 stop loading file /home/maruyama/labo/clisp/paip/auxfns.lisp.1st
ABORT :R3 ABORT
Break 1 [5]> (exit)
Bye.
[toro]{6787}

やはりなんか問題があるみたい、
DEFUN/DEFMACRO(SYMBOL): # is locked
ってことは、SYMBOLって、FUNかMACROの定義に問題が?

というような問題が、auxfns.lispの定義で二つ起きる
これは、auxfns.lispが、 Common Lispの最初の定義(CLtL1:Guy Steelの第一版かな)に、 準拠しているのに対し、
clispがANSI準拠の処理系である事から起きる問題であろう (というか、auxfns.lispのコメントにそう書いてありました (^ ^;))
auxfns.lispをANSI準拠に修正する必要があると判断し、 以下の修正を行なった

[toro]{6778} diff auxfns.lisp.1st auxfns.lisp.ansi
209,211c209,211
< (defun symbol (&rest args)
< "Concatenate symbols or strings to form an interned symbol"
< (intern (format nil "~{~a~}" args)))
---
> ;(defun symbol (&rest args)
> ; "Concatenate symbols or strings to form an interned symbol"
> ; (intern (format nil "~{~a~}" args)))
261,263c261,263
< (defun debug (&rest ids)
< "Start dbg output on the given ids."
< (setf *dbg-ids* (union ids *dbg-ids*)))
---
> ;(defun debug (&rest ids)
> ; "Start dbg output on the given ids."
> ; (setf *dbg-ids* (union ids *dbg-ids*)))
[toro]{6779}

そして次のように修正を行ない、再び実行する

% clisp
...
[1]> (load "auxfns.lisp")
;; Loading file auxfns.lisp ...
;; Loaded file auxfns.lisp
T
[2]> (load "gps1.lisp")
;; Loading file gps1.lisp ...
;; Loaded file gps1.lisp
T
[3]> (gps '(son-at-home car-needs-battery have-money have-phone-book)
'(son-at-school)
*school-ops*)

(EXECUTING LOOK-UP-NUMBER)
(EXECUTING TELEPHONE-SHOP)
(EXECUTING TELL-SHOP-PROBLEM)
(EXECUTING GIVE-SHOP-MONEY)
(EXECUTING SHOP-INSTALLS-BATTERY)
(EXECUTING DRIVE-SON-TO-SCHOOL)
SOLVED
[4]>

とりあえず問題は修正され、gps1は終了した。 しかしこれでいいのか、とりあえず前途多難だす、こりゃ (^ ^;)

Common LispのAIプログラムサンプルを作成して追加しました
「LISPによる人工知能の基礎技法」第4章4.2節の導出証明法を実装しています。