Archive for 4月, 2008

10日分まとめて。

火曜日, 4月 29th, 2008

気が付けば前の日記から10日もたっていました。
なんてこったい。
最近の動向

  • このブログのタイトル「リリカル☆Lisp 開発日記」だけど、変えた方がいい?
  • 「リリカルLispで勉強する」って都市伝説じゃなかったの!?
  • 情報処理学会とか入った方がいい?
  • この大学と、学務課に幸あれ
  • 私の英語力はTOEIC400点相当らしい
  • Prologはギャルゲー

10日分まとめてお送りします。

Wikipediaのあれこれ

水曜日, 4月 16th, 2008

lyrical.bugyo.tkのリファラを見てみたら、
WikipediaのLISPの項目からのアクセスが何件かありました。
で、WikipediaのLISPの項目を見に行ったらリリカルLispなんて言葉はどこにもない。
更新履歴を見てみたら、誰かがリリカルLispの紹介を書いて、
それからすぐに別の人が消した模様。
面白いことに、全く同じことが今年の1月にも起こってるんですよね。
誰かが紹介を書いて、それからすぐに別の人に消されるという出来事。
今回掲載されていた文章が、以前掲載されていたものと全く同じだということを考えると、
同じ人が書き込んだんでしょうか。謎です。
とりあえず、
「中の人宣伝乙wwww」
とか思われたらいやなので、
WikipediaのLISPの項目の編集には一切関わっていないことを宣言しておきますね。


というか、

NScLisperは文法的には純粋なLispではなく、Schemeの影響が見られる独自仕様の簡易版Lispである。

この説明ってどうなんでしょうか。
純粋なLispって一体何でしょうか。
pure lispのことではないのは確かだと思いますが(笑)

SWI-Prologでmulti-threadとsocket

月曜日, 4月 14th, 2008

ここしばらくSWI-Prologで遊んでます。
multi-threadとsocketを使ってechoサーバを作ってみたり。
ソケットに関しては、
tcp_socket
tcp_listen
tcp_bind
tcp_accept
といったそのまんまな名前の述語が用意されています。
マルチスレッドに関しては、
thread_create
という述語でスレッドを作るようです。
今回は使いませんでしたが、
thread_send_message
thread_get_message
という述語を使うことにより、
スレッド間通信ができるようです。
やっぱしErlangと感覚が似ている気がします。
ただ、こういったプログラムではバックトラックも使いませんし、
正直Erlangで書く方が大幅に楽だと思いました。
(まあ、これは私がPrologより先にErlangを触ったからかもしれませんが。)
詳細な情報はこのあたりに載ってます。

XPCE/Prolog

木曜日, 4月 10th, 2008

SWI-PrologにはXPCEなるものがあり、
GUIを使用したプログラミングができるらしいです。
ということで、やってみました。
xpce
ソース:progame.swi
XPCEはオブジェクト指向であるため、もはやPrologとは別の言語のように感じますし、
おまけにゲームを作るために平気で再代入的なことをやってます。
ソースにPrologらしさが一切感じられず、悲しさがこみ上げてきます。
何かのソースに似てるような……とおもったらErlangのソースでした。
見た目はそんなに似てないんですが、感覚がものすごく似てるんです。
Erlangは元々Prologの方言として作られたと聞いたことがありますが、
なんだか物凄く納得してしまいました。