ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

関数型言語コミュのLispの話題

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Lispに関する話題全般についてのトピックです

コメント(5)

というわけでなんか質問するごとにトピックを作るのもなんだと思ったのでこういうトピックを作ってみました。

で、質問なのですが、「純Lisp」(pure lisp)というのはかなり緩い(副作用のない(副作用を使わない))Lisp一般を指す言葉なのでしょうか、それとも特定の実装ないし論文で示されたものを指すのでしょうか?
日本語版ウィキペディアの「純Lisp」という(かなり内容についてはあやしい)記事ではマッカーシー先生の最初の論文を示しています。一方 pure lisp で検索すると、英語版wikipediaのLispkit Lispなる記事が出てきます。
それでいいんじゃないですか? > マッカーシー先生の最初の論文
http://www-formal.stanford.edu/jmc/recursive.html

Lispkit Lispは、let とかある時点で、別もんですね。

ちなみに、pure lispにも存在する、cond と quote を関数だと勘違いする初心者が多いですが、それらは関数じゃありません。(上記論文では、pure lispは、eval lispに読めるので)
それらは、引数をいつエバルかの問題につながるのですが。

また、set など、変数への(再)代入はありません。ピュア・ファンクショナルなので。

また、自由変数(局所でバインドされていない変数)のスコープ規則についても、pure lispは何も言っておらず、lispの環境問題として、どちらがいいか、1980年代末期まで論争が続きます。
押入れから事典類をひっぱり出したりしてみたところ、岩波情報科学辞典でヒットしました。めぼしいところでは情報処理ハンドブックはチェックできてません。
提案についてはマッカーシー先生の論文によるものとして、実装は特定のものに限らない、という感じで良さそうです。
----
let は lambda の構文糖とみなせるんじゃないでしょうか?

cond と quote は関数にできないのはわかるんですが、eval lisp か eval quote lisp かということと関係があるんでしょうか? eval が普通の関数か特殊形式かという違いですよね?

環境問題は、世間でよく使われてる lisp について言えば elisp として今日まで生き残ってますよね。論争はしてないか。
>この処理系自体でGUIのプログラミングは可能なのでしょうか?

 もう二ヶ月もたっているのですでに見つけているかもしれませんが、LTKは動くと思います。

LTkのサンプル集
http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/commonlisp/ltk/HTML/index.html

 私もUbuntu8.10の時代にインストールして、CLISPから使ってみましたが動いていました。
 現在Ubuntu10.04ですが、先ほど念のために動かしてみてもちゃんと動いていました。

 ただし、本格的なプログラムを作ったわけでなく、サンプル程度のものを動かしただけです。実用性についてはなんともわかりません。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

関数型言語 更新情報

関数型言語のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。