Lispネタ ― 2007年01月08日 19時15分51秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
あれこれ探していたら、たまたま
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/
Allegro CL Family 情報
と
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang
黒田さんの記事 Script Languages
にぶつかった。
ここにある
--- ここから ---
Lisp の不幸の1つに、
Lisp を使わない奴に限って Lisp について語りたがる
というのがあるんですが、今回もう1つ加わったのは、
Lisp を知らない奴に限って Lisp を他のもの、なかでも自分の自慰行為の結
果と比べたがる
Lisp の評論をとうとうとやるわけです。
--- ここまで ---
これ、Perl, Python, Rubyなどの信者を皮肉っているわけですが、でも、い
やーん、まさにおれのことだな。\(^O^)/
おれはLispを使ってないのに、Lispについて語る語る。仏教哲学まで持ち出
して語る語る。それをこの前のセミナーで黒田さんの目の前でやるわけだから、
おれも大物だね。\(^O^)/
それをやった資料は、LLRingのときと同じですが、
http://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
Lispとは何か: Lisp - 流転するプログラミングユニバース
にあります。高橋メソッドで108画面あります。
すなわち、おれさまのLispに対する108の煩悩をぶちまけています。\(^O^)/
黒田さん。Lispの普及に微力ながらがんばっておりますので、許してくださ
い。
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
About Scheme
おれは言語は割と博愛主義者なので、Schemeも好きです。ミソとクソじゃな
くて、おれ的には、八丁味噌と麦味噌みたいな雰囲気なんですけど。^^;
Gaucheで初めてほんとに実践的な言語としてのSchemeという気分になりまし
た。
http://www.shiro.dreamhost.com/scheme/gauche/index-j.html
Gauche
をどうぞ。
今のSchemeは、下でGaucheの作者のShiroさんが解説しているように、マク
ロが書けます。
http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3A%E3%83%9E%E3%82%AF%E3%83%AD%3ACommonLisp%E3%81%A8%E3%81%AE%E6%AF%94%E8%BC%83
Scheme:マクロ:CommonLispとの比較
個人的な慣れの問題だけど、Common Lispのマクロのほうがしっくりきます
ね。
ちなみに、Common Lispは、オペレータが環境に影響を受けるから、'<' を
変更したら、CMUCLだと文句を言わずに、POSを返すという話があるので、現実
逃避でちょっとやってみた。\(^O^)/
ACL 8.0 Free Express Editionでも、インタープリタだと同じ。コンパイラ
はCOMMON-LISPパッケージにあるものを変更しようとしていると文句をいって
きますが。
LispWorks Personal Edition 4.4.6は、インタープリタで評価?だと同じ結
果でPOSが出ます。コンパイラは、何もいわず、結果も出ない。なぜ? って、
いうか、コンパイラはコンパイルだけで実行しないということ? よーわから
ん。
Corman Lisp 3.0も同じ結果。POSが出ます。ちなみに、Corman Lispはコン
パイラしかありません。インタープリタがありません。
これも古いというか20年、30年前のLispの常識しかない人は、Lispがインタ
ープリタだと思っているんですよね。むしろLisp(Common Lisp)はコンパイラ
のない実装のほうが珍しい。Corman Lispみたいにコンパイラしかない実装も
あるしね。Schemeはインタープリタが多いみたいですけどね。
これに付随して、Lispは遅いと思っている人がいるが、ネイティブコンパイ
ラだから、スクリプト言語に比べれば10倍、30倍、100倍とか速い。
C++とそんなに遜色ないし、Javaより2、3倍速い気分。
これについては、後日、書くかも。
---
あれこれ探していたら、たまたま
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/
Allegro CL Family 情報
と
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang
黒田さんの記事 Script Languages
にぶつかった。
ここにある
--- ここから ---
Lisp の不幸の1つに、
Lisp を使わない奴に限って Lisp について語りたがる
というのがあるんですが、今回もう1つ加わったのは、
Lisp を知らない奴に限って Lisp を他のもの、なかでも自分の自慰行為の結
果と比べたがる
Lisp の評論をとうとうとやるわけです。
--- ここまで ---
これ、Perl, Python, Rubyなどの信者を皮肉っているわけですが、でも、い
やーん、まさにおれのことだな。\(^O^)/
おれはLispを使ってないのに、Lispについて語る語る。仏教哲学まで持ち出
して語る語る。それをこの前のセミナーで黒田さんの目の前でやるわけだから、
おれも大物だね。\(^O^)/
それをやった資料は、LLRingのときと同じですが、
http://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
Lispとは何か: Lisp - 流転するプログラミングユニバース
にあります。高橋メソッドで108画面あります。
すなわち、おれさまのLispに対する108の煩悩をぶちまけています。\(^O^)/
黒田さん。Lispの普及に微力ながらがんばっておりますので、許してくださ
い。
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
About Scheme
おれは言語は割と博愛主義者なので、Schemeも好きです。ミソとクソじゃな
くて、おれ的には、八丁味噌と麦味噌みたいな雰囲気なんですけど。^^;
Gaucheで初めてほんとに実践的な言語としてのSchemeという気分になりまし
た。
http://www.shiro.dreamhost.com/scheme/gauche/index-j.html
Gauche
をどうぞ。
今のSchemeは、下でGaucheの作者のShiroさんが解説しているように、マク
ロが書けます。
http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3A%E3%83%9E%E3%82%AF%E3%83%AD%3ACommonLisp%E3%81%A8%E3%81%AE%E6%AF%94%E8%BC%83
Scheme:マクロ:CommonLispとの比較
個人的な慣れの問題だけど、Common Lispのマクロのほうがしっくりきます
ね。
ちなみに、Common Lispは、オペレータが環境に影響を受けるから、'<' を
変更したら、CMUCLだと文句を言わずに、POSを返すという話があるので、現実
逃避でちょっとやってみた。\(^O^)/
ACL 8.0 Free Express Editionでも、インタープリタだと同じ。コンパイラ
はCOMMON-LISPパッケージにあるものを変更しようとしていると文句をいって
きますが。
LispWorks Personal Edition 4.4.6は、インタープリタで評価?だと同じ結
果でPOSが出ます。コンパイラは、何もいわず、結果も出ない。なぜ? って、
いうか、コンパイラはコンパイルだけで実行しないということ? よーわから
ん。
Corman Lisp 3.0も同じ結果。POSが出ます。ちなみに、Corman Lispはコン
パイラしかありません。インタープリタがありません。
これも古いというか20年、30年前のLispの常識しかない人は、Lispがインタ
ープリタだと思っているんですよね。むしろLisp(Common Lisp)はコンパイラ
のない実装のほうが珍しい。Corman Lispみたいにコンパイラしかない実装も
あるしね。Schemeはインタープリタが多いみたいですけどね。
これに付随して、Lispは遅いと思っている人がいるが、ネイティブコンパイ
ラだから、スクリプト言語に比べれば10倍、30倍、100倍とか速い。
C++とそんなに遜色ないし、Javaより2、3倍速い気分。
これについては、後日、書くかも。
コメント
_ m.o ― 2007年01月11日 03時13分43秒
_ 中村(show) ― 2007年01月11日 09時14分47秒
m.oさん、ありがとうございます。
おっしゃる通り、LispWorksはネイティブコンパイラ、CLISPがバイトコードコンパイラですね。修正しました。
http://iiyu.asablo.jp/blog/2006/04/20/334289
では、ネイティブコンパイラと書いていたのに。
それと、Lispworksの表記は、LispWorksにしました。
ご指摘ありがとうございました。
おっしゃる通り、LispWorksはネイティブコンパイラ、CLISPがバイトコードコンパイラですね。修正しました。
http://iiyu.asablo.jp/blog/2006/04/20/334289
では、ネイティブコンパイラと書いていたのに。
それと、Lispworksの表記は、LispWorksにしました。
ご指摘ありがとうございました。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。
LispWorks はネイティブコンパイラですよ。
バイトコードコンパイラというと GNU CLISP ではないでしょうか。