[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 13:46 / Filesize : 290 KB / Number-of Response : 990
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CommonLisp Scheme Part10



1 名前:デフォルトの名無しさん mailto:sage [04/02/01 19:10]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/test/read.cgi/tech/1002584344/
Part3: pc.2ch.net/test/read.cgi/tech/1008220265/
Part4: pc.2ch.net/test/read.cgi/tech/1016211619/
Part5: pc3.2ch.net/test/read.cgi/tech/1023091882/
Part6: pc3.2ch.net/test/read.cgi/tech/1031560687/
Part7: ruku.qp.tc/dat2ch/0311/20/1042167213.html
Part8: pc2.2ch.net/test/read.cgi/tech/1058263391/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/

前、"Schemeスレはあるのになんでcommonlispスレはないの?"とか言って別のスレを建てた大馬鹿者がいたので、
標題にCommonLispと付けておきました。
Lispの話題でCommonLisp,Scheme,EmacsLisp(専用スレッドがある)以外のものが出ることはこのスレの歴史上でも
稀なので問題はほとんどないかと思います。

関連リンクは>>2-10あたり


610 名前:デフォルトの名無しさん mailto:sage [04/06/16 07:14]
>>609
(だが気をつけ給え。
((その論理)の行きつく先は)
(激しく読み難い(スレ)だ))


611 名前:デフォルトの名無しさん mailto:sage [04/06/16 07:59]
>>610
(and (気をつけ給え。 インデント)
(equal (修正すると >>610)
(気をつけ給え。
(equal (行きつく先 (その論理))
(激しく読み難い スレ)))))

612 名前:デフォルトの名無しさん mailto:sage [04/06/16 18:47]
このスレを見て思い出した・・・

去年、プログラミング言語2(Scheme)の単位落としたんだよな・・・
今年の後期プログラミング言語2(Lisp)取らないと・・・

613 名前:デフォルトの名無しさん mailto:sage [04/06/16 18:56]
おまいさんの大学は Scheme -> Lisp に変わったのか
おれんとこは2年前から逆になったわけだが

614 名前:デフォルトの名無しさん [04/06/16 22:19]
(age)

615 名前:605 mailto:sage [04/06/16 22:32]
>>603
Secdr.tar.bz2っての拾ってきたけど多分コレだろ。
ドコに置けばいいか教えれ。288KBくらい。

616 名前:デフォルトの名無しさん mailto:sage [04/06/16 23:06]
皆さんは、LISP を習得することで、他の言語でのプログラミングにどういう
メリットを感じましたか?

私は Scheme をある程度おぼえて、簡単なプログラムなら書けるようになったの
だけど、この知識が例えば Java でのプログラミングに生かせるかというと、
今のところ、よく分からない。
関数プログラミング、ファーストクラスクロージャ、継続、マクロなどはとても
面白いと思ったけれど、Java では使えないし。

今のところ、JavaScript で何かできるかな?と思うぐらいです。JavaScript には
ファーストクラスクロージャがあるから。

エリック・レイモンドが
cruel.org/freeware/hacker.html
「LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。
 この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。
 たとえ、実際には LISP そのものをあまり使わなくても。」

と言っていたのはどういう意味なんだろう?

617 名前:デフォルトの名無しさん mailto:sage(ネタ振り参加) [04/06/17 03:00]
>>616
> たとえ、実際には LISP そのものをあまり使わなくても。」

LISP を直接扱う仕事が少ない、LISP の技法が C に直接マッピングし辛い(クロージャとか)って
事ですよね。Java でも無名クラスとか CPS とか使う機会はそれほど無いのではないでしょうか。

618 名前:デフォルトの名無しさん mailto:sage [04/06/17 03:18]
>>615
Secdr.tar.gz が 313KB なんでそれくらいでしょうね。ライセンスは GPL みたいなんで
うぷろださえあれば私もうぷ出来ます。

ところで、SECD マシンじゃなくて SGCD マシン(G-Machine)というのがあるみたい
ですが、これってどういう物なのでしょうか?
ググって見たらグラフ理論と関係あるみたいですが、グラフ理論って最適化とかでよく
聞く物の、中身が良く分かりません。。。



619 名前:デフォルトの名無しさん mailto:sage [04/06/17 14:21]
>>617
 ちょっとメール欄が気になりますが、まあ、まさにその通りです。それだけでは
Java のプログラミングスタイルが大きく変わる、という気がしないんです。

 Lisp の良さは、どのようにも書けることだと思うんです。手続き型風にも、オブジェクト
指向風にも、関数型風にも書ける、何でもそろう百貨店のようです。

 ところが他の言語は専門店なんです。例えば Java はクラスベースの型制限のきつい
オブジェクト指向言語として書く以外に、あんまりできることがない。そうすると、
結局デザインパターンに従って書くより他にないのかな、ということになってしまう。

Java 捨てろ、と言われても、Lisp でやらせてもらえる仕事なんてないし。
皆さんはどのように考えていらっしゃいますか?


>>618
私もグラフ理論はぜんぜん知らないんですが、n次空間での点と線の組み合わせの性質を
研究する学問だと聞いたことがあります。応用としては、回路図を基盤に起こすとき、
どのように回路を取り回せばよいかを検討するのに役立つそうです。
レゲエ数学者の秋山仁先生が、日本における第一人者だそうです。

『秋山仁の 落ちこぼれは天才だ 』
www.amazon.co.jp/exec/obidos/ASIN/4062739623/

620 名前:デフォルトの名無しさん mailto:sage [04/06/17 14:31]
>>619
んー。逆方向で。
Lisp が百貨店だとしたら、他の言語で初めて触れるような機能に出くわしたとき、
「ああ、これは Lisp で言ったら○○だな」
て風に(Lisp にマッピングして)理解してみる、ということがやり易い、
ていう具合に考えてみるのはどうでしょう。

621 名前:デフォルトの名無しさん mailto:sage [04/06/17 15:35]
>>618
G-Machineは、lazyな言語向きの仮想機械で
実行にグラフ書換えを利用してるものだったような。
うろ覚えだけど。

グラフ書換えについては、
『コンピュータ基礎理論ハンドブック』のたぶん2巻に解説があった気がする。

622 名前:デフォルトの名無しさん mailto:sage [04/06/17 16:13]
>>620
確かにそれはできるかも知れません。実は Lisp を源流としている技術はこの業界には
すごく多いみたいですから。

Java には、フレームワークだとか、EJB とかさまざまな新技術が次々導入されて
いますが、「あ、これは Lisp のアレに相当するな」と分かれば習得は早いでしょうね。

しかし、もともと Lisp のエキスパートだった人はそれで良いでしょうが、今から
Lisp を学ぼうという人はどうでしょう?遠回りをせず、Java の新技術を学んだ
方が早いのではないかという気がします。

何しろサーバサイド・プログラミングは Java の一人勝ちで、Java だけ覚えれば
それで済んでしまうような状況ですから。代わりに Lisp が普及していてくれたらなあ。

623 名前:デフォルトの名無しさん mailto:sage [04/06/17 18:07]
それにしても、Scheme の世界観は本当に美しいと思います。
以前、「継続というのは、靴下を裏返すようにして、ひっくり返した ラムダ」
という話を聞いて感動したのですが、

この下のほうの Shiro さんの説明
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Seminar%3aKahua
「値を返す ≡ 値を継続手続きに渡す」
これを聞いて、さらに感動しました。
結局 Scheme の制御構造は ラムダしかない。関数もブロックも環境も、全部
ラムダ。なんか世界の見え方が変わってしまいますよね。

しかし、これを Java でのプログラミングに、どのように生かせばいいのだろう…。

624 名前:デフォルトの名無しさん mailto:sage [04/06/17 19:25]
例えば,今まで C しか知らず,そのままでいると:

1. 再帰を恐れる.再帰で考えられない.再帰のコーディングの仕方に慣れていない.
2. 配列ばっかり.
3. スコープについてしっかり理解できていない.
4. なぜか速度ばかり気にして,少ないステップ数を重視した見辛いコードを書く.

といった感じになると思います.
でも,これは「言語はいくつか学べ」の理由でしか無いかも.

625 名前:デフォルトの名無しさん mailto:sage [04/06/17 20:47]
>>624
お前、C使いに物凄い偏見を持っていないか?

または、たまたま >>624 の周りでCを使う奴は皆
その程度にしか使えないだけなのか?


626 名前:デフォルトの名無しさん [04/06/17 20:52]
scheme 使う人に質問です。

何故 scheme は list の末尾が nil ではないのですか?

末尾は nil にしておいた方が美しい設計だと思うのですが・・・


627 名前:デフォルトの名無しさん mailto:sage [04/06/17 21:00]
nil が存在しないからです。

628 名前:デフォルトの名無しさん mailto:sage [04/06/17 21:45]
scheme を知ってからは C でも alist もどきを多用するようになった。



629 名前:デフォルトの名無しさん [04/06/17 23:11]
>>626
リストの末尾は他と区別できる単一の要素(空リスト)があればいいだけなので、特にnilだと
美しいという根拠がわかりません。それよりも真偽値と区別のないLispよりはSchemeの方が
すっきりしているのではないでしょうか。そもそも真偽値とリストは型が違うわけですから。

630 名前:デフォルトの名無しさん mailto:sage [04/06/17 23:39]
>>626
名前が欲しいだけなら(define nil '())で。

631 名前:デフォルトの名無しさん mailto:sage [04/06/17 23:42]
>>630
'(a . nil) が (a) にならない罠


632 名前:630 mailto:sage [04/06/17 23:50]
あうち。リーダーマクロでなんとかとか...
ごめん、忘れてください。

633 名前:603 mailto:sage [04/06/18 01:39]
>>618
有難う御座います。↓とかにうpして貰えれば嬉しいです。
ttp://www.uploda.net/cgi/uploader2/index.php

>>605 = 615
ご親切に有難う御座います。
bz2でうpできる場所は、見つかれませんでした。
拡張子を誤魔化してうpするという方法が、可能かどうかまで調べていません。
気が向いたら、うpしてください。

634 名前:デフォルトの名無しさん mailto:sage [04/06/18 01:58]
うう…結局、Lisp を学んで、Java のプログラミングスタイルが変わった人は
いらっしゃらないのでしょうか。この言語はとても魅力的だけど、仕事にほとんど
生かせないのなら、なんとも悲しいものがあります。

Namazu の高林さんが
「Scheme を学んでからは、他の言語でプログラムを書くときの切れ味もずいぶん変わった
 気がする。」
namazu.org/~satoru/unimag/10/
と言っていたから、すごく期待していたんだけどなあ。

そう言えば高林さんは、Java が嫌いだとも言っていたか…。
www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview20.html

635 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:05]
所詮その程度の人間だったということだ

636 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:24]
>>633
上げといた。こういうの使うの初めてなんだけど、これで良いのかな。

637 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:59]
>>634
今どきLispをやろうなんて物好きは、趣味で楽しんでやってるだけなんだから
仕事に生かそうなんて期待するな。

638 名前:603=633 mailto:sage [04/06/18 03:51]
無事↓できました。有難う御座いました。

勝手に想像していたものより良い意味で裏切られました。
まだ、ちょろっと読んだだけですが、付属のLibも一通り揃っている感じですし
SECDRのRを何故Sから分離したのか、勉強してみたいと思います。

そういえば、どこかでSECDH machineというのが有ると聞いたときがありますが
ここでのHの意味って、何なんでしょうね?



639 名前:デフォルトの名無しさん mailto:sage [04/06/18 09:23]
>>634
プログラミングスタイルが変わらないんだとしたら、要するにLispで
やってるような抽象化が必要とされるようなプロジェクトをやってない
ってことでは。実際、Paul Grahamがなんと言おうと、世の中の
プログラムの9割はそんな「力」を必要としないんだしさ。

漏れは、どうしても仕事でLisp以外の言語で書かざるを得ない時は、
人間コンパイラになったつもりで頭の中の高階関数のコードを静的な
クラスに展開したり、人間マクロエクスパンダになったつもりで
パターンに沿ったコード書いたりしてるけど。つくづく無駄なことを
してると思うが、そのぶん金払うのはお客さんだしね。
ただ、どうしても我慢ができなくなった時は、LispでJavaやらCやらの
簡易マクロプロセッサを書くこともある。


640 名前:デフォルトの名無しさん mailto:sage [04/06/18 10:36]
>>637
そう割り切ればいいのかもしれませんけど、仕事しんどいし、何かこの知見を
利用して楽になれないものかと思っちゃうんです。


>>639
> 要するにLispでやってるような抽象化が必要とされるようなプロジェクトをやってない
ああ、それはありますねえ。
せっかく CPS を理解したんだから、今度の Java の仕事で session に継続を
保持させてみよう、と思ったんですが、考えてみたら、CPS を用いるほど細かい
制御はまず必要ないんです。

Lisp が一番力を発揮するのは、構文解析とか、複雑な構造のデータを扱う場合
だと思うんですけど、そういう仕事やってないですし。DB に SQL を発行して、
返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。
マクロで展開させたいと思うようなことも、あんまりないです。
嫌だと言っても、世の中の99%はそういう仕事ですし。

「技術野郎の復讐---Revenge of the Nerds---」への反響
www.shiro.dreamhost.com/scheme/trans/icadmore-j.html

>>635 氏の言う通り、私には Lisp は必要なかったのかな?いや、Lisp 業界が
私を必要としていないのか。…鬱だ死のう。

641 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:14]
IO操作はcall-with-うんたらかんたら系があると便利だよね。
標準IOをインターフェース変えずにファイルやソケットや文字列に割り当てたり。

C/C++言語もそういう仕様だったらよかったのに。
こっちは出来た時代が古かったんだね。

642 名前:デフォルトの名無しさん [04/06/18 11:27]
LISPのcarやcdrが基本なリスト操作知ってからは
ほかの言語でリストコンテナ書き直す回数が減った。
いまどきのC++やjavaには標準で付いてるけどね。
でもそういう標準コンテナを使うときも
LISPで培ったやり方が適用できると思う。
先にLISPのマクロ知ったおかげでboostとかのライブラリが幼稚に見える。


643 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:29]
Javaの仕事がきついって言うけど、
それなら一番手っ取り早いのはJavaのエキスパートにコードを見せて
何か改善点がないか相談することでしょ。
改善のしようがなかったら、転職するかその仕事に耐えるかしかない。
どうやったらJavaに生かせるかLisperに訊かれても、そんなん知らんがな。
自分で応用していくしかないんだよ。

644 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:30]
ま、仕事の質から言って、やっぱLISPが最強だったね。

645 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:35]
何でもかんでもLispでやりたがる奴はLisperじゃない

646 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
Guy Steele Jr.のメアド教えてください。

647 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
誰もそんなこと言ってないが。
>被害妄想な645

648 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
>>646
どっかのMLにいたよ。



649 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:41]
`(Guy,@Steele.Jr)

650 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:42]
最強厨、現る

651 名前:デフォルトの名無しさん mailto:sage [04/06/18 14:32]
>>647
お前に言ったわけじゃないんだが

652 名前:デフォルトの名無しさん [04/06/18 15:41]
Lispの本って高い!!

653 名前:デフォルトの名無しさん mailto:sage [04/06/18 16:19]
>>642
複雑なデータ構造の仕事をしている人だと、Lisp の経験が生かせるみたいですね。

>>643
なんというか最近、Java の世界そのものに息苦しさを感じてしまいまして。

Lisp の世界は自由自在・融通無碍だとどこかで聞きまして、Lisp だけで食っていける
人はまずいないそうですから、Lisper が Java を書くことも当然あるだろうと。
Java しか知らない人からじゃなくて、そういう視野の広い人から、話を聞いて
みたかったのです。

654 名前:デフォルトの名無しさん mailto:sage [04/06/18 18:41]
>>653
本物の Lisper なら、

>DB に SQL を発行して、
>返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。

その作業を、システムを使うユーザーにやらせようとする。
つまりスクリプトを積む訳だ。
で、スクリプトには当然 Lisp を採用。


655 名前:605=615 mailto:sage [04/06/18 23:57]
>>603
SECDR入手済みだよね?親切な人が生息しているようで何より。

過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。
2chで泣き言いってる暇があったら自分でLisp使う仕事作りゃいいのに。
漏れは作ったぞ。他にLisper居ないから1人デスマーチだけどな(w

656 名前:デフォルトの名無しさん mailto:sage [04/06/19 00:11]
そうそう。Javaにうんざりしている同志がこんなもん作ってるけどこのスレでは紹介されてなかったよね?
暇なとき調べてみようと思って手付かずなので誰かが使用感レポートしてくれることを期待して貼っておこっと。
hxxp://www.evaluator.pt/linj.html

657 名前:デフォルトの名無しさん mailto:sage [04/06/19 05:54]
www.evaluator.pt/linj.html
めんどくせーことするな

658 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [04/06/19 23:40]
Meadowのrun-schemeで、Gauche(utf-8)を使いたいのですが、可能でしょうか。
いまの設定は、下の設定です。
(setq scheme-program-name "d:/cygwin/usr/local/bin/gosh.exe -i")
kawacho.don.am/win/meadow/customize/dot-emacs-sample.html#japanese

ご面倒ですが、アドバイスをお願いします。



659 名前:デフォルトの名無しさん [04/06/20 00:23]
>>658
Meadow1.15はutf-8対応でないそうなので、Meadow2をインストールしました。
そして、M-x set-buffer-file-coding-system utf-8にしました。
すると、こんな出力になっています。
gosh> (display "山下")
ツ山ツ可コ#<undef>

660 名前:デフォルトの名無しさん mailto:sage [04/06/20 01:14]
よう分からんけど set-process-coding-system の方じゃないかと疑ってみる。

661 名前:デフォルトの名無しさん [04/06/20 10:03]
>>660
ありがとうございました。
ご指摘のとおり、set-buffer-process-coding-systemで
inputもoutputもutf-8に設定することで、問題解決しました。
ども。

662 名前:デフォルトの名無しさん mailto:sage [04/06/20 11:24]
Lisp の知見を 他言語で、という話だけれど、継続を使えば、Web アプリが
スッキリ一つながりに書けるようになるよ。
tabesugi.net/memo/2003/b1.html#101129
普通なら HTTP リクエストごとに分断されたコードを書かなきゃいけないけど、
継続を使って、コードの実行を中断して、HTTPリクエストを処理してから再開、
といった作業がシームレスに行えるから。

だけど、この継続をいちいち手作業で作るのは面倒くさいね。言語自体が継続を
サポートしていないと、かえって面倒くさいと思う。Java じゃ無理か。

Perl6 は継続をサポートするようになるそうな。Perl使いの皆さん、おめでとう。
tabesugi.net/memo/2004/61.html#092240
Perl使いは誰も継続なんて知らないみたいだけどな。

新山氏のサイトを斜め読みしていたら、たまたま出てきたんで書きました。

663 名前:デフォルトの名無しさん mailto:sage [04/06/20 12:52]
以前も話題になりましたが,defpackage にはキーワードを使ったらいいのか
文字列を使ったらいいのか分かりません.

cliki に置いてあるコードでも両方見かけます.

叫ぶぼどではないので大文字は避け,キーワードを使いたいのですが,
どんなトラブルが起こりうるのでしょうか.教えていただきたいのです.

パッケージ名は :pkg-name のようになっていて,その中で :export される
シンボルは #:func1 のようにすれば絶対安心なのでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [04/06/20 16:10]
最近 asdf というのがあるんですが,これは何ですか?
ちょっとしたプログラムを install するにもコレが必要らしいです.
google しても関係なさそうなサイトばかり引っかかります.

正直,べんり? 入れなきゃダメ?

665 名前:デフォルトの名無しさん mailto:sage [04/06/20 16:23]
asdf は lisp 版 make …という説明でわかるかな?
昔からある defsystem に代わるもの.CLOS ベースになってる.

依存関係や C ライブラリのビルドなどが設定可能な便利
ツールだが,どうしても嫌なら別に入れなくてもいいぞ.
全部手動でやる事も面倒だけど可能だし,defsystem 用の
ファイルも提供してるプロジェクトも多いしな.


666 名前:デフォルトの名無しさん mailto:sage 直リン廚いらっしゃ& [04/06/20 17:33]
マニュアルはここ。入れなきゃダメってことはないけどDebianでCommon Lisp Controller
使ってれば普通に入ってるし、正直便利。いろんな人が作ったライブラリ突っ込むのも
asdf-install一発で片付くんでらくちんだよ。
hxxp://constantly.at/lisp/asdf/

667 名前:664 mailto:sage [04/06/20 17:47]
>>665-666
恥ずかしながら,lisp プログラムのインストールに make のような
ものが必要ということさえ知りませんでした.
(load "hoge") 一発かと...

debian を使っているので,sarge あたりから
common lisp 周りのパッケージが増えたな,と感じていました.

ただ,自分の管理下でないシステムに,自分が書いたコードを持っていったとき
のことが気になります.そのコードが,asdf を使ってインストールされた
プログラムを使っていると,向こうのシステムにも色々持っていかないと
なぁ,,,という気がするのです.
とにかく試してみます.ありがとうございました.

668 名前:664 mailto:sage [04/06/20 22:15]
私は asdf も入れられないレベルのようです.どうか力を貸してください.

$ clisp -q

[1]> (load "load-asdf-install")
;; Loading file /home/yu/src/html/src/asdf-install/load-asdf-install.lisp ...
;;; ASDF-INSTALL: Loading ASDF-INSTALL package from directory
;;;               "/home/yu/src/html/src/asdf-install/"


*** - A file with name ASDF-INSTALL-LIBRARY:defpackage.lisp does not exist
1. Break ASDF-INSTALL-LOADER[2]>

defpackage.lisp を ASDF-INSTALL-LIBRARY:defpackage.lisp みたいな
変な名前にリネーム,,,するわけないですよね?
どうすればいいのでしょうか.まずは cl-ppcre を入れたいのに.



669 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:15]
>>667
ある程度の規模になると依存関係とかロード順を考えなきゃならんでしょ?
C/C++ だってファイルが増えてくると make や IDE の支援が必要になるわけで。
で、C/C++ のソースを配るときに make があるか心配だから make を使わない
というほどの心配性ならともかく、asdf 自体は特に依存してないのでそんなに
心配する必要はないです。asdf.lisp 添付してもいいしね。

それでも、どーしても嫌なら自分で書いたコードには使わなきゃ良いだけです。

670 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:20]
>>668
できれば自分の環境(特に使ってる clisp のバージョン)はかいといた
ほうがいい。なぜなら clisp で format のバグで asdf.lisp がコンパイル
できないバージョンとかあったからな。最新のは大丈夫なんだけど。

で、先に asdf.lisp をロードしてないとかそーゆうんでないかな。今手元に
clisp が無いんで推測なんだが。

671 名前:664 mailto:sage [04/06/20 22:31]
>>670
はい.clisp 2.27 です.
うっかり asdf-install/doc/index.html を読んでいませんでした.
README がインストール方法かと思ってしまいました.
そこで,index.html にある方法でやりましたが,,,

current directory には asdf があるディレクトリと,
asdf-install/asdf-install.asd へのリンクがあります.
$ clisp -q

[1]> (load "asdf/asdf")
;; Loading file /home/yu/src/html/src/asdf/asdf.fas ...
;; Loading of file /home/yu/src/html/src/asdf/asdf.fas is finished.
T
[2]> (asdf:operate 'asdf:compile-op :asdf-install)
; loading system definition from asdf-install.asd into #<PACKAGE ASDF1175>
;; Loading file asdf-install.asd ...
; registering #<SYSTEM ASDF-INSTALL #x203A4CB1> as ASDF-INSTALL

*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です

asdf って簡単そうな名前なのに orz

672 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:36]
2.27 て…。まぁ、asdf.lisp がロードできてるなら cl-ppcre の
インストールに asdf-install は要らないよ。手動で cl-ppcre の
アーカイブをダウンロードしてきて
[1]> (load "asdf/asdf.lisp")
[2]> (load "cl-ppcre/cl-ppcre.asd")
[3]> (asdf:oos 'asdf:load-op :cl-ppcre)
だけ。あとは (saveinitmem) としてイメージ作れば良いじゃん。
あと 2.27 にこだわる理由がなければ 2.33.x にしとくのが吉。

673 名前:664 mailto:sage [04/06/20 22:43]
>>672
親切にありがとうございます.
いま,cmucl でやってみると,一通り終わるものの 5 errors 出ました.
;;; メインで clisp を使うのに *.x86f が出来ても...

はい.debian woody なのと HDD が小さいのでバージョンアップを
渋っておりましたが,以下の理由で考え直します.


[2]> (load "cl-ppcre/cl-ppcre.asd")
;; Loading file cl-ppcre/cl-ppcre.asd ...
*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です

674 名前:デフォルトの名無しさん mailto:sage [04/06/20 23:43]
やたっ! Mac OS X 上の ECL でスレッド使えた。
つっても無理矢理ビルド通しただけなんで、実用性はありませんけど。

素朴な疑問ですが、Lisper な人ってスレッドをあまり必要としていないんでしょうか?
ネイティブスレッドを使える環境がかなり限られている感じがします。

675 名前:674 mailto:sage [04/06/21 00:15]
と思ったら、重い処理させると落ちる・・・。

676 名前:デフォルトの名無しさん mailto:sage [04/06/21 01:14]
>>664
Debian使ってLispやるならsidがいいのではないかと。
Kevin M Rosenbergが精力的にパッケージ作ってくれてるのでマジで助かります。
バグ修正したり機能拡張したコード送ると(暇なら)次の日にはパッケージ更新してくれるし。
ディスク容量とかメモリとかはカネで時間(作業効率)が稼げると思えば安いもの。組み込み
用途を検討中とかなら話は別だけどね。
hxxp://b9.com/debian.html

>>674
Lisperがスレッドを必要としないってことはないでしょう。SBCLのウリのひとつだし。
Lisperは正規表現を必要しないってのは聞いたことがあるけど。リーダーマクロマンセー。

677 名前:664 mailto:sage [04/06/22 02:50]
clisp バージョンを上げて解決しました.
便利な正規表現を使えるようになりました.みなさんのおかげです.

ところで,
(asdf:oos 'asdf:load-op 'cl-ppcre)
が終わるのに 2 分くらいかかりますが,これは毎回必要なんですか?
実際に使うために動かすのは手元ではないので耐えられますが...

>>676 sid は色々気をつけないとならないので逃げます orz

678 名前:デフォルトの名無しさん mailto:sage [04/06/22 06:25]
>>677
cl-ppcre をロードした後に (saveinitmem) で
新しいイメージを作ってそっちを使うようにするのが定石です。
#!/bin/sh
/usr/local/bin/clisp -M ~/my/dir/initmem
みたいに自分のイメージを使って起動するシェルスクリプトを
パスの通ったところに置いておきましょう。

あと、clisp なら標準の regex, あるいは pcre モジュールの
ほうが性能は良いって事は心に留めておいたほうがいいです。
cl-ppcre は移植性と互換性は良いけどね。



679 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [04/06/22 14:50]
Gaucheのwww.cgiを使ってみたいのですが、下のようにoutput-charset
を定義すると、「"euc-jp"」と評価されます。ここで、「euc-jp」と
評価されるにはどうしたらいいのでしょうか?
(define output-charset "euc-jp")
(define (main args)
(cgi-main
(lambda (params)
`(,(cgi-header
:content-type #`"text/html; charset=,(output-charset)")



680 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [04/06/22 15:05]
>>679
あっ。。。
(define output-charset "euc-jp")
(define (main args)
(cgi-main
(lambda (params)
`(,(cgi-header
:content-type #`"text/html; charset=,output-charset")

681 名前:デフォルトの名無しさん mailto:sage [04/06/22 15:25]
CGIプログラムを継続を使って書くと綺麗なコードになると何度か聞いたことがあります。
たぶん、HTTPがステートレスな接続形態であることをうまく隠して、
複数のHTTP要求と応答をひとつのセッションとしたコーディングができるようになるのかなと
想像しています。具体的に教えてください。

また、Continuation Passing Styleで書けば継続が直接サポートされていない
Common Lispでも同じように綺麗なコーディングができますか?

Kahuaも継続を売りにしていますよね。

682 名前:デフォルトの名無しさん mailto:sage [04/06/22 20:58]
cygwin 環境で guile-1.6.4をコンパイルしたのですが、make途中で
エラーが発生してしまいます。

場所は

cat alist.doc (略) regex-posix.doc | GUILE="/cygdrive/c/home/work/guile-1.6.4/
pre-inst-guile" ../scripts/snarf-check-and-output-texi --manual > guile.texi ||
{ rm guile.texi; false; }
ERROR: Unbound variable: define

guile.texiを作成するところです。実行ファイルそのものはできている
ようなのでそれを直接実行してみると

bash-2.05b$ libguile/guile
ERROR: In procedure primitive-load-path:
ERROR: Unable to find file "ice-9/boot-9.scm" in load path
bash-2.05b$

のようなエラーになります。configure時には何も指定していません。
どなたか対処法をご存知ありませんか?


683 名前:664 mailto:sage [04/06/22 23:04]
>>678
>>672 で (saveinitmem) に触れていただいたのに見落としていました.すみません.
debian sarge の cmucl でも cl-ppcre を難無く load できました.

移植性と互換性とはいっても,古いバージョンには入れられないものなんですね.
他所 (sparc マシン) の cmucl で動くか試してみましたが,
load 中,api.sparcf で type-error が出て入れられないんです.
しかも api.lisp の何行目が悪いのかも分からず...

自宅では軽い clisp で作り,cmucl の入ったサーバーにアップロードという
目標は無理のようです.orz

684 名前:デフォルトの名無しさん mailto:sage [04/06/22 23:30]
>>681
Kahuaのチュートリアルがわかりやすいかと。
www.kahua.org/cgi-bin/kahua.cgi/kahua-web/show/doc/hello-kahua#H-y3tjno

ちなみにKahuaでいう「継続ベース」というのは、call/ccでどうのこうの
ということではなくてCPSで書きますということです。
すなわち、Common Lispでも同様にやれるでしょう。

685 名前:デフォルトの名無しさん mailto:sage [04/06/23 00:13]
>>681
www.common-lisp.net/project/ucw/index.html
Common Lisp で継続ベースの Web アプリ開発フレームワーク、だそうです。
使ったことないですが。

686 名前:デフォルトの名無しさん mailto:sage [04/06/23 00:36]
>>683
エラー吐いてデバッガに落ちてるんじゃないの?
バックトレースとかスタックフレームとか調べてみた?
まず「ソースコードの何行目が悪いのか」という思考から「どこの式が悪さしてるか」を
意識するようにしてみるといいかも。

687 名前:デフォルトの名無しさん mailto:sage [04/06/23 07:37]
>>684-685 ありがとうございます。

688 名前:664 mailto:sage [04/06/23 22:44]
今日,>>686 のご指摘通りデバッガとの対話を学び,試そうと某所へ行きました.

すると,コケたはずのインストールが,修正していないのに出来てしまいました.
(asdf:oos ...) も (load "cl-ppcre-0.7.7/load.lisp") も出来ます.
;;; 管理者さんがこのスレにいるのでしょうか...
そして,マイ core も作りました.
あとはカッコいいプログラムを作るだけです.ありがとうございました > root



689 名前:デフォルトの名無しさん mailto:sage [04/06/24 02:05]
Windows版はないのね。残念。

690 名前:デフォルトの名無しさん mailto:sage [04/06/24 23:50]
湯浅センセがスーパークリエイタになってはる。応募しはったときも
思たんやけど、なんで今さら…。めっさ、違和感あるわ。次世代ちゃ
うやろ。

691 名前:デフォルトの名無しさん mailto:sage [04/06/25 03:13]
ペタジーニのバントみたいだな。
夢が壊れるよ。

692 名前:デフォルトの名無しさん [04/06/25 08:54]
そう?
あの年で(失礼)、また教授になってもhackするのはいいことじゃないですか。
おまえらももっとhackしろというメッセージだと思ってます。

693 名前:デフォルトの名無しさん mailto:sage [04/06/25 09:03]
lisp屋が おじさん/おばさん、おじいさん/おばあさん になっても
hack するのは、デフォじゃないの?

694 名前:デフォルトの名無しさん mailto:sage [04/06/25 09:53]
お金とって来れる偉い人がなっちゃいかんよなぁ。
もっと若い人に譲らなきゃ。

695 名前:デフォルトの名無しさん mailto:sage [04/06/25 13:26]
若い連中がふがいないから教授に取られちゃうんだよ。

696 名前:デフォルトの名無しさん mailto:sage [04/06/25 18:44]
ファイルの中身をまるまる string にするには,どうやればいいですか?
get-output-string-stream は output stream にしか使えないんですね.

697 名前:デフォルトの名無しさん mailto:sage本人が釣れないかな・・・ [04/06/25 19:11]
>>694
>お金とって来れる偉い人がなっちゃいかんよなぁ。

もしかして「京大教授」って、意外と薄給なのでは?


698 名前:デフォルトの名無しさん mailto:sage [04/06/26 10:08]
>>696
処理系は? まぁ、このへんを参考にしたらいいと思いますが。
www.shiro.dreamhost.com/scheme/wiliki/schemexref.cgi?port-%3estring

>>697
「お金」= 「給料」ではなくて研究費です。
給料は国立大の教授なら1000万程度では。
いいと思うかは微妙なところだけど。



699 名前:デフォルトの名無しさん mailto:sage [04/06/26 11:09]
XSで未踏に応募したのはWindows版の開発を委託する費用を捻出するため。
スーパークリエイターに認定されたのは湯浅センセがどうこうできることじゃない。
695の意見が正しいと思う。

700 名前:デフォルトの名無しさん mailto:sage [04/06/26 13:32]
少し前に話題になっていた、Lisp の知見を他言語(Javaなど)で生かす話、
こんなのを見つけました。

『A Little Java, A Few Patterns』
namazu.org/~satoru/diary/20010320.html#p01

この本は、名著『Little Schemer』の著者によるものだそうで、デザパタの中でも
難解で知られる Visitor パターンが、関数型言語の考え方から自然に導かれることを
説明するのだそうです。

そうか。関数型言語なら高階関数で行うことを、オブジェクト指向言語はオブジェクトで
行うのか。それらの知見は、ある程度は相互に利用が可能みたいですね。

邦訳も出ているみたいです。
『Javaとピザとデザインパターン』
www.amazon.co.jp/exec/obidos/ASIN/4797307900


701 名前:デフォルトの名無しさん mailto:sage [04/06/26 13:33]
あと一つ、Greenespun's 10th Rule のグリーンスパンの Blog から
『Scheme vs. Common Lisp』
philip.greenspun.com/bboard/q-and-a-fetch-msg?msg_id=0006XQ

私は Scheme を少し知っているだけなのですが、これを読むと Common Lisp の実用性は
素晴らしいと思いますねえ。

それにしても、flame war 勃発と思いきや、あんまり騒ぎになってない。
そもそも Lisp 界にはフレームが起こるほど人がいないのか。

グリーンスパンが同じ Blog で Java を揶揄したときは、スラドを含めて
大騒ぎになったらしいのにねえ。
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Shiro%3alog%3a2003%b8%e5%c8%be
(2003/09/24 18:54:23 PDT)を参照

702 名前:696 mailto:sage [04/06/26 14:06]
>>698
あっ,common lisp の話なのに書き忘れてしまいました.ごめんなさい.
処理系は clisp ですが,処理系に依存しない方がいいです.
いろいろ試してはみましたが,do と read-line よりいいものは無いのでしょうか.

703 名前:デフォルトの名無しさん mailto:sage [04/06/26 16:24]
>過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。

lisp界には凄い人が普通にいる感じがするからじゃないかな。
shiroとか苫米地とか新山とか。
KCLの両先生はさしあたり東大寺の仁王像、京都大学は奈良の大仏、
アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう
(適当だが)


704 名前:デフォルトの名無しさん mailto:sage [04/06/26 17:37]
shiro >>>>>>>>>>>>>>>> 苫米地 > 俺 > 新山

705 名前:デフォルトの名無しさん mailto:sage [04/06/26 18:22]
↑バカディスカー?

706 名前:デフォルトの名無しさん [04/06/26 21:00]
>>703
>アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう
>(適当だが)

災いを招くつもりですか?

707 名前:デフォルトの名無しさん [04/06/26 22:09]
新山さんとアランスク先生って誰?

708 名前:デフォルトの名無しさん mailto:sage [04/06/26 22:27]
shiroさん最強。
苫米地さんは謎。コード読んだこと無いし。
新山さんは・・・日記職人(田口)。



709 名前:デフォルトの名無しさん mailto:sage [04/06/26 23:46]
>>707
aranskはゲームセンターで小学生突き落とした中学生

710 名前:デフォルトの名無しさん [04/06/27 12:26]
knilって何ですか?
(directory-fold:
www.shiro.dreamhost.com/scheme/gauche/man/gauche-refj_272.html#SEC299






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<290KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef