1 名前:デフォルトの名無しさん mailto:sage [04/11/25 21:48:56] lispを触ってみたい入門者のQ&A 初心者のQ&A 本スレでは恥ずかしくて聞けない人のQ&A 本スレは高度すぎて割り込めない人のQ&A linuxでなくてwindowsでやりたいんですが・・・Q&A lispを使用してC#やJAVAの代替にするための方法(おまけ) ま、ゆっくりたりましょう。 「いいものの本質は、いかなる時代においても変わらない」byパワーズ
751 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 00:30:53 ] つうかやる気ねーんだろ?授業をちゃんと聞いてなかったみたいだし。「 いつも思うんだけどなんで〜日までの宿題ですやる気ないんで教えてください、 って素直に言えないのかね?まさか宿題である事を隠してるつもりなのか?なら 人をナメすぎだな。ほらこれを提出してごらん。俺は親切だから罠をしかけたりしないよ。 (defun solve (a b c) "ax^2 + bx + c = 0" (let ((A (- b)) (B (sqrt (- (* b b) (* 4 a c)))) (C (* 2 a))) (values (/ (+ A B) C) (/ (- A B) C))))
752 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 00:39:19 ] 漏れのエスパー能力によると>>747 が求めているプログラムは Lispではないな。
753 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 00:41:43 ] >>750 ±にあたるものが存在してないのが問題の山なのかも。 存在してても使いにくそうだけど。
754 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 05:01:13 ] そういえば複素数も扱えるんだよな でも>>751 はaが非零でないことくらいはチェックした方がいいと思う
755 名前:747 mailto:sage [2005/11/08(火) 22:31:36 ] どうもどうも。おかげさまで解決しました。 視点を変えました。>>751 のプログラムもある意味参考にさせていただきました。
756 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 22:55:05 ] >>755 変数名変えた程度で提出してそうだな.
757 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 10:52:42 ] 数年前からWIREDで学生のレポートのコピーと教授のいたちごっこが記事になっ たりとかしてるけど、いっこうに解決してないよな、この問題。 数ヶ月か一年おきくらいの間隔で問題にした記事を見てる気もする。 Comm. ACMの先月号でも Academic Dishonesty and the Internet つって とりあげてるし。なんでもclass project(宿題というよりはレポートに相当か) を外注に出す奴までいたそうだ。何のために大学に来たのかと小一時間(ry そういう学生のイカサマは許さんと頑張ってくれる教官は日本の大学にも いるんだろうか。なんかそんなやつ放っとけ面倒だと知らんぷりになりそうなんだが。
758 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 10:58:03 ] 今後の(学内or社会人)人生で困るならその程度だし困らないならそれもまたその程度。
759 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 11:26:00 ] 企業活動もアウトソーシングに頼る時代なんだから別にいいんじゃない? 卒論だって金でやってもらえる時代ですよ。 教官だって普段の学生の様子を見てれば、まじめにやってるやつと 金で解決したやつの違いくらいわかるでしょ。わからなかったり、 わかっても注意しなかったら、その程度の教官ってこと。 でも>>747 はこんなとこで聞く前に、教官に質問しろ。 払った授業料以上のものを貰わないともったいないぞ。 質問しても答えてもらえなかったらダメな先生に当たったと諦めろ。
760 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 11:36:09 ] 教官としてはどうでもいいんだが。精査したり注意してやる義理もない。
761 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 11:47:02 ] 無駄なレポート書く暇あったら自分の勉強したいよ
762 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 11:50:21 ] どうでもいいならレポートや宿題なんて出さないで欲しいよな。
763 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 12:01:17 ] >>762 君たちにとって無駄でどうでもいいのなら提出しなければいい。
764 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 12:03:45 ] 単位を貰うために、最小限の労力とリスクで、レポートを仕上げる
765 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 12:30:01 ] 単位をもらうためならそれでいいよな。 単位に値しないなら労力を割かないほうがよい。 単位取得を重要視するなら学生側でそれくらいのマネジメントくらいしろ。
766 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 12:33:44 ] やっぱ宿題には黙って答えだけだな。 余計な事言うから >>757-765 のような板違い連中を釣り上げちゃう。
767 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 20:47:57 ] 自分の望むレスだけしか見たくないんですか? 答えだけ欲しければ宿題スレへいけ。
768 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 21:07:39 ] じゃあ教授と学生のいたちごっこを見事な再帰で表現>>768
769 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 21:51:43 ] うちの研究室、プログラムの類似度判定やってた。 教授が集めてきた学生たちのレポートを実験の対象にしてた。 結果、年度・言語に関わらず、2〜3の大きいグループができると判明した。
770 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 01:34:50 ] 以下のようなことを実行するにはどうすればいいのでしょうか? (setf a '(+ 1 2)) (setf b '(+ 3 4)) (setf c '(- b a)) (myfunc c) 4 あるリストファイルを読んで内部にツリー構造をつくり、 それを一気に実行することを望んでいます。 具体的には、内部で以下のように展開してから実行したいと 思っています。 (eval '(+ (+ 1 2) (+ 3 4))) 何かヒントだけでも頂けたら嬉しいです。どうぞよろしくお願い致します。 m(_ _)m
771 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 01:58:53 ] >>770 こんなんでどうだ。 (defun expand (x) (cond ((symbolp x) (expand (symbol-value x))) ((numberp x) x) ((listp x) (cons (car x) (mapcar #'expand (cdr x)))) (t (error "unknown type: " x)))) (defun myfunc (x) (eval (expand x)))
772 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 02:45:02 ] 変った宿題だな。とりあえず読み込みたいリストファイルの例を示して。 それによって難易度が違うんで。 (+ 1 2) なのか (setf a '(+ 1 2)) なのか。使う関数は +, *, -, / なのか Lisp のフル機能の使うのか,など。
773 名前:770 mailto:sage [2005/11/13(日) 12:58:24 ] >>771 ご回答ありがとうございます。m(_ _)m 採用させていただきます。 初心者のくせに変にマクロに拘ってハマってました・・・ >>772 自主制作ソフトに必要な機能なんです。(趣味です) リストですが・・・ vA_out 1 vB_out 2 vC_out 3 vD_out 4 fPlus1_in vA_out fPlus1_in vB_out fPlus1_out fMinus1_in1 fPlus2_in vC_out fPlus2_in vD_out fPlus2_out fMinus1_in2 fMinus1_in1 fPlus1_out fMinus1_in2 fPlus2_out fMinus1_out retrun を予定してます。ちょっと冗長ですが・・・。 関数は将来的に増える予定です。Lispのフル機能を使っていきたいと思います。
774 名前:770つづき mailto:sage [2005/11/13(日) 13:03:05 ] >>773 のリストを読み込んで、内部で>>770 のようなツリーを組み立て 最後に実行して答えを返す予定です。 >>772 問題にご興味を持っていただきありがとうございました。 もし宜しければ、ヒントなど頂けたらと思います。
775 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 13:54:45 ] なるほど S 式じゃないプログラムリストって意味だったのか。 このプログラムの動作はどんな動きをするんかな? 今はこのファイルを Lisp のリスト形式 (S式) に手動で変換してるんだよね? たとえばプログラム言語としての機能を持たせたいなら(条件分岐とか) >>740 からのレスが参考になるかもしれないし、このリストをもう少し S 式風 にカスタマイズできるなら read 系の関数を使って字句解析を省略できる。
776 名前:770 mailto:sage [2005/11/14(月) 20:37:38 ] >>775 実はあるプログラム言語をパクろうと思ってます。(^^; もちろん、自分なりの発展はさせるつもりですが。 >今はこのファイルを Lisp のリスト形式 (S式) に手動で変換してるんだよね? そうです。 >たとえばプログラム言語としての機能を持たせたいなら(条件分岐とか) >>>740 からのレスが参考になるかもしれないし、このリストをもう少し S 式風 早速参照してみます。 >にカスタマイズできるなら read 系の関数を使って字句解析を省略できる。 あまり複雑なS式はむりですが、出力の形式を弄る程度でできるS式には しようと思ってます。 (setf vA 1) ←この程度ですが・・・(^^; また、質問させていただくかもしれません。今回はアドバイスありがとうございました。
777 名前:デフォルトの名無しさん [2005/11/15(火) 17:38:38 ] 770 とは別人なのですがついでに聞かせて下さい。 Lisp コードの中にいわゆる普通の infix の数式を入れて書きたいと思ったら どういう手が考えられるでしょうか。 つまりこんな感じで出来ればいいんですけど (defun f (x y) ( + 1 y %%% x^2+y^3 %%% )) プリプロセッサを通すとかじゃなくてやろうと思ったらどうしますか。
778 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 17:57:12 ] つ groups.google.com/group/comp.lang.scheme/msg/1f15027fb2a1bc07 つ groups.google.com/group/comp.lang.scheme/msg/047ee341f2c30c85
779 名前:777 [2005/11/15(火) 18:22:40 ] 本当にありがとう。やっぱ reader macro で出来るんですね。使います。
780 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 23:08:40 ] 使うのかよ!
781 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 12:42:27 ] reader macroのわかりやすい解説ってないでしょうか?
782 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 13:11:18 ] >>781 なんだかんだ言って CLtL2 が一番わかりやすかった。w
783 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 16:53:20 ] 規格書は紙で持っとくと、初心者レベルの時でも結構役に立つよ。 ansiの店で$18で売ってます。
784 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 10:30:59 ] 本スレのCLOSの話題について行けないバカな漏れに MOPのなんたるかから教えて下さい。
785 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 13:04:06 ] >>784 AMOP読め。または図書館へ行って昔のbit別冊を探せ。
786 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 19:49:24 ] AMOPって今でも、新刊買えますか? TinyCLOSは、いじってて面白かったなぁ。またいじりたいなぁ。 Kiczalesは、Aspect orientedなる概念を提唱して、ずぅーっと 遥か彼方まで行ってしまったね。 Kiczalesのアイディアを具体化しようとしている連中は、なぜか Java、Rubyにご執心みたいだけど。
787 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 20:12:37 ] >>786 買えるよ。日本アマゾンは3〜5週間だが、USアマゾンなら24時間以内発送。 www.amazon.co.jp/exec/obidos/ASIN/0262610744 www.amazon.com/exec/obidos/ASIN/0262610744
788 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 20:15:14 ] On Lisp邦訳の次はAMOP邦訳に挑戦して頂きたい。>野田さん
789 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 22:00:57 ] 翻訳終わる頃には、ネタとして終わってる悪寒。 最先端とはいわないまでも、半分より前、できるなら先頭グループ を走りたいなら、原著は避けられないと思うよ。 まぁ、かくいう俺も日本語と英語しかわからないのだけどな。
790 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 22:42:59 ] 先頭グループもなにも、MOPやCLOSはかなり前からあるんじゃないの?
791 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 02:30:22 ] >>786 そうか? AMOP からさほど進化したとは思えないんだが…
792 名前:デフォルトの名無しさん [2005/12/14(水) 23:14:08 ] clisp上でMAXIMA使いたいんですが解説サイトとかありませんか? 最新版に対応しているところが見つからないんですが
793 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 01:46:09 ] climacs に期待...
794 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:14:13 ] Schemacsとか作る奴はおらんのか?
795 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 23:38:21 ] climacs は SBCL ありきだからなぁ。Scheme で Native Thread が使えて ネイティブコンパイラな実装があれば話は別だが。
796 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 00:26:33 ] climacsも概ね動くようになったところで飽きて放置に100りちゃーど
797 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 07:51:11 ] >>794 ngscmというものならある。
798 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 05:33:14 ] シンボルを全部日本語にして日本語Lispとして売り出す(笑)
799 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 07:25:40 ] >>798 日本語Lispなら、S式はリストの先頭でなく末尾を関数とみなすようにしないと。
800 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 09:57:03 ] (甲 3 とする) (乙 5 とする) (甲 乙 対にする) => (3 . 5) ((甲 2 加える) 乙 乗ずる) => 25 助詞が欲しいな。
801 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 10:13:37 ] もともとのLispも英文にはなってないんだから、 日本語Lispといっても別に、その辺まですり合わせなくていいんじゃないかな。
802 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 13:05:23 ] >>799-800 括弧を取ればそのままFORTHになるという利点(?)があるな。
803 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 13:54:53 ] それだったら最初から Forth の方が。 つまり GikoForth なわけですが。
804 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 19:59:15 ] (おぼえる かいじょう (い) 「0から い までかけあわせる」 (もしも (ぜろか い) 1 (かける い (かいじょう (いちひく い)))))
805 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 20:28:09 ] (いれる ●にわとり 「こけこっこー」) (いれる ●ねこ 「にゃぁにゃぁ」) (いれる ●ぶた 「ぶーぶー」) (みる ●にわとり) → こけこっこー
806 名前:デフォルトの名無しさん mailto:sage [2005/12/24(土) 01:10:35 ] SBCL の Win32 ポートがいよいよマージされるみたいだな。 sourceforge.net/mailarchive/message.php?msg_id=14275606 ;; Macho のアーカイブ止まっちゃったのか。
807 名前:デフォルトの名無しさん mailto:sage [2005/12/26(月) 22:08:00 ] >>805 carとかcdrとかcdadarとかはどうやって表現するんだ。
808 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 01:04:54 ] car ⇒ 住所登録所の内容 cdr ⇒ 値登録所の内容 cdadar ⇒ 住所の値の住所の値登録所の内容
809 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 01:47:02 ] car => これ cdr => それ cdadar => そこそこれ
810 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 01:55:43 ] car/cdr は箱(コンスセル)から要素を取り出す操作だから、 car: とりだす cdr: つぎをとりだす cdadar: つぎのまえのつぎのまえをとりだす 関数は動詞且つ和語で統一したい所だけど、苦しいかな...
811 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 02:26:21 ] >>809 それイイネ
812 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 10:26:20 ] >>809 anaphoric ifのitはどうすんだ
813 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 11:57:15 ] >>812 「あれ」
814 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 19:42:32 ] clozure.com/cgi-bin/viewcvs.cgi/ccl/ChangeLog?rev=HEAD&cvsroot=Bleeding-edge&content-type=text/vnd.viewcvs-markup x86 の文字がちらほら見えるけど、OpenMCL も x86 に移植されるみたいだね。 素晴らしい。
815 名前:デフォルトの名無しさん [2006/01/09(月) 22:24:16 ] lispで作った関数なんかは、何処に保存されてるのでしょうか? lispのコードをいじる課題が出たのですが、 コードの保存を自分でやらなきゃならなくなって困ってます。
816 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 22:52:09 ] 教官に聞け
817 名前:デフォルトの名無しさん [2006/01/09(月) 22:59:50 ] それを見つけるのが課題。。
818 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 10:08:05 ] 「エディタで新規にファイル作ってその中に書け」が答のような気もする っていうかLisp関係ないな 対話的にしかLispを使わない授業だったと推測するが
819 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 14:24:33 ] >>815 それ、Smalltalk使いの私も訊きたいです。 Smalltalkでは、関数(メソッド)が自身のソースを属性として持っていて比較的 容易にたぐれるんですが、Lispでは環境内でのソース管理はどうなっているんでしょうか? 818の行間を読むと、対話的に作られた場合、関数は自身にかかわるソース情報を (デコンパイルなどで特殊な方法で別途得る以外)他の一般的な言語と同様、 いっさい失ってしまうのが当り前…というような印象を受けるのですが。
820 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 22:47:35 ] >>819 ANSI CL の範囲では無いと思う。ANSI Smalltalk もソースコードの管理までは 規定してないでしょ?
821 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:15:09 ] function-lambda-expression() lambda 式が取れなくても規格合致だけど
822 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 06:36:04 ] >>819 「関数」はソース+定義環境だから、ソースだけ取れてもそれを保存 するみたいなことには向かないだろうね。デバッグの助けにするだけなら いいだろうけれど。 (let ((n 0)) (defun incr (k) (incf n k))) なんてした時に、incrのソースはどこからどこまで? ってことね。
823 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 16:34:30 ] なるほど。Smalltalkのブロック(クロージャ)のソースは、メソッド(関数)のそれと 違って容易にはたぐれない…のと状況は似ていそうですね。ありがとうございます。
824 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 17:02:36 ] www.shiro.dreamhost.com/scheme/trans/beating-the-averages-j.html これ読んでLisp使いたくなりました。 入門サイト教えろこの野郎m(__)m
825 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 18:29:40 ] >>824 ぐぐれこの野郎(^^)
826 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 18:41:45 ] >>824 www.geocities.jp/m_hiroi/xyzzy_lisp.html xyzzy向けの内容が入ってるけど
827 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:37:58 ] >>824 ttp://www.h7.dion.ne.jp/~matsu/feature/common-lisp/index.html 日本語のサイトではここが一番良かった。
828 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 19:50:45 ] すまんがLispで生産性があがるってのはどのへんのせいなのでしょうか? >>824 の本を読んで興味持ったんだけれどよくわからんです。 コンパイル->実行とかの過程も処理対象にできるっていうのはやりようで面白いことできそうかと思ったんですが。 いまはC#つかいなのですが、.NETでのReflection,CodeDOMあたりの機能でしょうか。
829 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 20:10:48 ] いろんな要素が絡んでるから難しいけど。 最近機能が増えた言語や開発環境(なんでもいい)で、これが入って 生産性が上がったなーってもんをリストアップしてみ。 そのリストはLispの生産性の高さの理由のリストとかなり重なると思うよ。
830 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 01:43:00 ] 使用者への効果でいうと「マルチパラダイム」が一番大きいと思う.型がない. 手続き型でも関数型でも論理型でも並列型でもオブジェクト指向型でも,それ に合わせられる.クラスによる分類が向かない分野では,迷う事なくそれ以外 の手法をとれるしね. マクロによるプログラム変形とかはそういった言語カスタマイズのための道具 で,本当はこの「どんなパラダイムでもどんとこい」というのが最大のメリッ トだと思う.個人的にはね.
831 名前:デフォルトの名無しさん [2006/01/14(土) 04:40:52 ] あのー おばかで申し訳ないですが、 自分、VC++でコンソールアプリ作っております。 一部のc++の関数をLispで置き換えたいと思っておるのですが、 これって可能なんでしょうか? おしえてえらいしと
832 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 13:24:37 ] >>831 だいたいできると思うけど、GC関係でいろいろややこしいところは覚悟しないといけない。
833 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 14:01:57 ] 可能だけど,ある程度 C++ と Lisp の知識がいるよ. 1) DLL を出力できる Lisp コンパイラをもっている (普通の DLL と同じ) 2) ecl を組み込む 3) プロセス間通信する 3. がいちばん簡単かなー
834 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 17:27:18 ] >>829 C++からC#にかわったんだけど ・Generics(これはC#1.0になかったものとして) テンプレートでないのがちょっと不満。 ・リフレクション ・デリゲート 呼び出しをオブジェクト化することでいろいろ使える。 ・イベント デリゲートの呼び出し管理の簡略化 ・リモーティング プロセス間呼び出しを楽にした感じ ・インテリセンス(これは開発環境) これあってすごい楽になった。ヘルプとか引く回数激減。 条件に基づいてコード生成、それの管理とかできるともっといろいろ面白いことできるのかなぁとおもうけど。
835 名前:831 [2006/01/14(土) 17:46:11 ] >>831 >>832 情報dクス ・・・ここ数日間、GCL,CLisp ( Chicken, Gambit-C ) が吐き出すCコードをVCでコンパイルして.Libを作成しようとしてますた 直接 DLLを出力できるLispコンパイラ使わないと駄目何すね ・・・DLLを出力できるLispコンパイラ、知っていたら教えてくらはい (上で騒がれてた、ACLってやつなのかな?) 教えて訓でスマソ
836 名前:831 [2006/01/14(土) 17:48:34 ] ↑ ↑ 自分に礼いってた orz >>832 >>833 ですた
837 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 17:55:44 ] >>834 敢えて挑発的に書けば... Generics: 動的型なら元から不要 リフレクション: 元からある デリゲート: クロージャの劣化再発明 イベント: クロージャが無いから無理してる リモーティング: S式送ってevalさせればいいだけじゃん インテリセンス: 80年代からあると思うけど もちろん、静的型言語が持つ型安全性の保証とかはLispは弱い。 自分でがりがり書けば出来なくはないけれど。 条件に基づいてコード生成って?
838 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 18:10:18 ] LispWorks はできるよ.ACL もできるんじゃねーかな. ECL もできる.GCL もできそうだけど… GCL 知らないスマン # しかし CLISP は C コード吐かないだろう.
839 名前:831 [2006/01/14(土) 18:43:48 ] >>838 どうもっす ECLでゆきます ・・CLisp、間違えます田 色んなのためしてたらわからなくなてた ありがとうございました
840 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 19:04:59 ] >>837 C++から入ってC#やってるのでその辺の概念がまったくわからんです。 なんか最近頭がうにになってるし。 オブジェクト指向に頭が固まってる希ガス。 Lispというか関数型の利点がいまいちわかってないのでC++とかだとこんな風にしかできないけどそこをこんなエレガントにできるよって感じで教えてもらえないですか? 条件に基づいてコード生成ってのは、画面の生成とかをXAMLみたいなスクリプトに落として扱ってるんだけれどそれをそのままプログラムコードで生成したりしとか操作に基づいてロジックを生成してそのままプログラム中で扱えたりするといろいろできるかという話。
841 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:25:20 ] >>840 >操作に基づいてロジックを生成 これって具体的にはどういうイメージで言ってるの?
842 名前:デフォルトの名無しさん [2006/01/14(土) 23:07:07 ] gclでウィンドウを生成してその中で二点を定めて 線を引くというような簡素なプログラムを組みたい のですがどうすればよいでしょうか?どなたかご存知な 方お願いします。 まずウィンドウを生成するやり方からわかりません。。
843 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 23:29:43 ] GCL 使った事無いけど、これじゃないの? Tcl/Tk は別途インスコする必要あるかもしれないけど。 www.sunsite.ualberta.ca/Documentation/Gnu/gcl-2.3.6/html_mono/gcl-tk.html#SEC55
844 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 00:02:22 ] >>841 行った操作を覚えたりとか、拡張言語として使うとかですかね。
845 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 00:41:22 ] >>843 ありがとうございます。 結構使えそうです。
846 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 02:04:13 ] >>837 > インテリセンス: 80年代からあると思うけど あればなんでもいいってわけじゃないだろw 開発環境が(良くも悪くも)重厚長大ですげえんだよMSのは。
847 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 02:22:14 ] >>846 世界の狭い奴だな
848 名前:デフォルトの名無しさん [2006/01/15(日) 04:14:14 ] lispのコンソールから打ち込んだ文字(プログラムを走らせる前) をすべて保存するようにしたいのですが、 打ち込んだ文字列は、なんていう変数やらストリームに保存されてるんですか?
849 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 04:21:20 ] つwww.franz.com/support/documentation/7.0/ansicl/dictentr/dribble.htm
850 名前:デフォルトの名無しさん [2006/01/15(日) 04:33:06 ] ありがとうございます。 でも、コマンドラインの変数名も知りたいのです。 わからないでしょうか?
851 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 08:15:48 ] あ、そういうことか。失敬。 それは処理系依存だと思う。例えばAllegroならcommand-line-argumentsという 関数で取れる。処理系のマニュアルを読むべし。
852 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 09:38:00 ] >>847 しかしあのMSの統合開発環境に太刀打ちできる環境はないな。
853 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 09:51:57 ] まーGeneraの頃とはソフトウェアの規模が違うのは認めるが。
854 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 10:18:37 ] MSの貧者の統合環境ってどうなんだろうね。 敷居を下げたのが功か無能を引き入れたのが罪か。
855 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 10:29:10 ] レベルの低い開発者をふるい落とすのは開発環境の役目ではない
856 名前:350 [2006/01/15(日) 11:06:09 ] >>351 kyoto common lispのコマンドラインの変数名を知りたいのですが、 ネットでは見つかりません。 しらないでしょうか?
857 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 11:07:04 ] 優れたデバッガのおかげで本来動くはずのないプログラムが出たとこ修正で動くようになる。当然、潜在バグてんこ盛り。 論よりRUNとか言っているアフォも居るし。 Lispもそんなもんなのか?
858 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 11:46:22 ] >>856 アホがよって来るから、メール欄に sage って入れてくれ。
859 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:30:44 ] 早く common-lisp.net 復旧しないかな...
860 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:37:43 ] .NETで使えるLispというのはないんでせうか? ちょっとみたけれどわからず・・・
861 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:43:09 ] >>860 ある。
862 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:04:23 ] ソースつきサンプルが標準でどっかのディレクトリに入って滝がした
863 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 01:34:22 ] >>860 .NET 向けなら LSharp ってのがあるよ.まぁ,Common Lisp でも Scheme でもないけど.
864 名前:デフォルトの名無しさん [2006/01/16(月) 03:23:56 ] kyoto common lispのコマンドラインの変数名を知りたいのですが、 誰か知りませんか?
865 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 05:06:02 ] つうかなんで今更KCL? GCLならsi:*command-args* みたいな名前の変数だったと思う。 とりあえず、aproposでそれらしい名前を探してみたら?
866 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 14:29:04 ] オブジェクト指向が染み付いてるんですが、LISPってどんなイメージでプログラミングするの?
867 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:35:33 ] クラスを定義してメソッドを書いてゆく。(こともできる)
868 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:38:07 ] >>867 それオブジェクト指向とどう違うの?
869 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:51:22 ] 違わないだろ Lispでもオブジェクト指向やれますよって言ってるんだから
870 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:05:27 ] んじゃ、オブジェクト指向的に書くとして、その場合のJava、C++などとの違いはどこに出るの?
871 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:22:49 ] >>870 括弧
872 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:35:38 ] >>871 まあ、依然としてLispである、ってとこかな。
873 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:12:17 ] >>872 そのLISPであるのはどこ?
874 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:15:40 ] >>873 括弧
875 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:20:36 ] 単に「JavaやC++と比べてLispはどう違うのか」の答と一緒かと
876 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:27:39 ] >>875 最初の質問に戻るかも試練が・・・わかんねーよウワァン。
877 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:29:17 ] On Lisp の最初の方を読むといいかも。
878 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:42:58 ] >>877 みつけますた。よんでみます。 ただまとめて印刷できるページがほしかった・・・
879 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 20:41:02 ] スピード面とか考慮したうえでLispに向くもの向かないものってあるんでしょうか?
880 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 22:37:05 ] LSharp以外に.NETでつかえるLispあるならつかいたいんだがどうよ。
881 名前:831 [2006/01/17(火) 00:03:55 ] ECLを使って見ますた Windows上でインストールさせて、 簡単な関数を書いたLispファイルをコンパイルしてみると おぉ、ECLから.dll .Lib .hファイルを取得できますた 早速C++に組み込んでみようとすると、 ..わからん、どうやって引数を渡すんだ? マニュアルとECLのヘッダーファイルを週末読み込んでみたものの、 わたすの低レベルな頭ではプログラムを走らせることができませんですた (変換された関数はECL独自の構造体(共有体?)しか受け取ってくれない) やはりCに書き出すことはできたとしても、 Lisp->Cへの組み込み時において、変換された関数のインターフェースが 問題であることをようやく理解。 そこで今回、Lisp->Cのインターフェースがうまく扱えそうな LispWorksに方向転換してマニュアルを呼んでます LispWorksで変換したLispコードをCから呼び出してる人、 使い心地はどうですか? 知ってる人おりましたら、おしえてくらはい。 ・・・長文、駄文、あと頭悪くてすいません
882 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 00:06:55 ] >>880 何で .NET が良いのか、LSharp の何が気に入らなかったのかを書いたら 教えてやらんでもないけど、マイナーな処理系使っても幸せにはなれないよ。 >>876 個人的には REPL の有る無しが大きい。データを直に触りながら書く感じ。
883 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 01:11:33 ] >>831 メール欄に sage って書いてホスィ.ひょっとしてPerl とか Python とかの組 み込みの経験ないってこと?むーC / Lisp ともにちょっとスキル不足かもしれ ない. LispWorks の使い心地だけど (fli:define-foreign-callable ("Double" :result-type :int) ((x :int) (y :int)) (* x y)) で DLL 作ると int Double(int x, int y) { return x*y; } に見える.
884 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:17:35 ] >>882 .NETの理由:既存資産があるしライブラリあるから LSharp以外の理由:LSharpは気に入らなかったのではなく比較のため。
885 名前:884 mailto:sage [2006/01/17(火) 02:20:44 ] 眠いとだめだな日本語おかしい・・・orz ライブラリ->マイライブラリ LSharpは->LSharpを
886 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:24:04 ] >>884 ,885 ほい。 dotlisp.sourceforge.net/dotlisp.htm www-sop.inria.fr/mimosa/fp/Bigloo/
887 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:46:43 ] >>884 , 885 ほれ. RDNZL - A .NET layer for Common Lisp www.weitz.de/rdnzl/
888 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:48:57 ] >>884 ,885 あと、この辺かな。 weitz.de/rdnzl/ foil.sourceforge.net/ bc.tech.coop/blog/040927.html bc.tech.coop/blog/041210.html bc.tech.coop/blog/041216.html せっかく答えてくれたのに、参考にならなかったらスマソ。
889 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:50:32 ] わぉ、こんな夜更けに被ってしまった...
890 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 03:27:55 ] >>879 Lisper は環境に合わせて Lisp 処理系を書いてしまうから、向かない物は無いとも言える。 GOOL とか XS Lisp とか LispMe とか Schemix とか。LispM もあったし。 向いてないのは、人月投入してナンボのプロジェクトとかかな。Lisper は希少種だから。
891 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 10:55:18 ] 正式発表キタ!! >A port of OpenMCL to X86-64 (AMD64) Linux is underway; >it's scheduled for release in Q2/2006. openmcl.clozure.com/index.html
892 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 10:59:58 ] >>886-888 さんくすこ。みてみます。
893 名前:831 mailto:sage [2006/01/18(水) 01:04:30 ] >>883 情報サンクス 使い勝手、よさそうですね マニュアルのページ参照できますた Personal Editionだとファイル出力できないことがたった今判明。 ..約11万かぁ 要検討します おっしゃるとおり、組み込み系、Lisp共に超初心者です、はい。 Lispは本を1時間よんだくらい。まずは環境整備と思い、現在に至ります。 Cはちょいとかじってます。 言語解析やりたくてLIspはじめようかと。 ついでに質問いいですか?教えて訓ですみません。 CまたはC++に組み込む場合、.DLLに加えて.h,.libファイルが必要ですよね? マニュアルにこれらの出力関数が見当たらなかったんすけど、 きちんと装備されています?、LispWorks。 まちがい、かんちがいあったらすいません。 宜しくお願いします。 sage気おつけます。2ch書き込みも実は831がはじめて。
894 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 01:44:47 ] > 言語解析やりたくてLIspはじめようかと。 自然言語解析だとすると LispWorks は日本語対応が UNICODE のみなんで,お すすめできないなぁ.あんまり日本語処理強くないよ.最終目標はどんなかん じなの? > CまたはC++に組み込む場合、.DLLに加えて.h,.libファイルが必要ですよね? DLL を LoadLibrary して使えます.でも普通は Lisp から C の DLL を呼ぶと 思うけどなー.そっちのほうが資料が充実してるし楽だ.あるいはソケットで 通信とかね.
895 名前:831 mailto:sage [2006/01/18(水) 21:35:14 ] >>894 情報サンクス 言語解析はそんなレベル高いものではない(と思う) というのも認知心理学ちょっとやりたくて買った本が 「Lispで学ぶ認知心理学」ってやつ。 そこにでてくるプログラム参考に勉強していこうかと。 ただ、1980年に出版されたもんだからユニコードうんぬんではないのです。 たとえば "NINCHI" "SHINRIGAKU"とかで、全部ローマ字で処理。 文章とかの階層構造を定義したいなぁ、なんて。 ただここの本にでてくる考え方は学んでみたいとおもい、& 組み込み対象が自作のC++プログラム。 っていうかんじです。 引き続き、組み込み向けのLisp、ソケット通信調べてみます。 長文駄文ソマソ。
896 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 00:43:18 ] >>895 clisp.sourceforge.net/impnotes.html#ex-call-in clisp.sourceforge.net/impnotes.html#ex-call-in-dll common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dCallbacks
897 名前:831 mailto:sage [2006/01/19(木) 01:00:17 ] >>896 ・゚・(ノд`)・゚・ なんでそんなにやさしいんですか? 有難う御座います。 がんばります。 ...職場の人だってここまでやさしくない
898 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 05:00:56 ] >>895 あれってMACLISPじゃなかったっけか?
899 名前:831 mailto:sage [2006/01/20(金) 00:25:21 ] >>898 ども。 本には「APPLE LISP」を基準にしているとの記述が。 中まだ呼んでないからわからないけど defun を DE で記述ますね。 今日は帰りが遅かったからほとんど手付かず。 週末はLisperになりたい。
900 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 01:44:44 ] まーがんがれ。言語仕様はずいぶんかわってるので,アルゴリズムに集中して 勉強したほうがいいね。まぁ,おれはその本読んだ事ないのでアレだけど,お勧めは - C をある程度知っているなら ANSI Common Lisp あたりを読んでみる - 難しいと感じたなら,古い本だけど培風館の Lisp (1) (2) に挑戦 こっちは学生に訳させたのか日本語が破綻しているが,内容的には 入門から簡単な Garbage Collection の仕組みまでと充実してる. - 英語が苦にならないなら Practical Common Lisp とか Norvig の PAIP,OnLisp とか アカデミックな風味が好きなら Programming Scheme, HTDP, SICP にも挑戦してもいい 自然言語ネタならPAIP にもちょっとあるよ.PAIP の一番最初の例はルールベー スのランダム文章作成だよん. (defparameter *simple-grammar* '((sentence -> (noun-phrase verb-phrase)) (noun-phrase -> (Article Noun)) (verb-phrase -> (Verb noun-phrase)) (Article -> the a) (Noun -> man ball woman table) (Verb -> hit took saw liked))) (defvar *grammar* *simple-grammar*) (defun rule-lhs (rule) (first rule)) (defun rule-rhs (rule) (rest (rest rule))) (defun rewrites (category) (rule-rhs (assoc category *grammar*))) (defun generate (phrase) (cond ((listp phrase) (mappend #'generate phrase)) ((rewrites phrase) (generate (random-elt (rewrites phrase)))) (t (list phrase))))
901 名前:デフォルトの名無しさん [2006/01/20(金) 21:09:46 ] kyoto common lispのコマンドラインの変数名を知りたいのですが、 誰か知りませんか?
902 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 21:21:08 ] 変な宿題出してるがっこがあるようだな。 pc8.2ch.net/test/read.cgi/tech/1132275726/349
903 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:10:07 ] いまどき KCL ???ネタか?しかも本スレとマルチ? メール欄に sage もしくは学生番号を書いたら考えるけど……
904 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:42:29 ] >>856 >>864 も アフォは無視すれ
905 名前:831 mailto:sage [2006/01/21(土) 01:13:44 ] >>900 応援サンクス.参考書チェックしてみす。 今度町にでたら立ち読みしなければ。 ...ランダム文章作成 ひじょーに博学ですね。 わたすの頭からあれがでてくるよう念じたら いつかでてくるのかな 週末だけのうみそ交換しませんか? ...毎度すいません、教えてくんになってよいですか。 教えて頂いたURL、目を通して見ます田。2つ質問あります。 1つ目:Example31.7 Calling Lisp from C dynamicallyの考え方、 これであってます?↓ ------Lispソース(FFI含む)---- | | |(インターフェース部を書いた| | Cソースを | | コンパイルしたdll) |----------------> (Lispソースを | | ↑ コンパイルしたDLL) | | CLisp |---------------------------| でコンパイル ↑C/C++に組み込み可 2つ目:もう一つ御願いします。 ClispではFFIを使用するためには特別な操作が必要なんすか? 上記考え方に基づいて Example31.7のCソース部分からDLLを作成。 その後Lispソース部で作成(.dllの名前はきちんと入力)。 できたhoge.lispファイルを(load "hoge.lisp" )すると CLispが「skip (DEF-CALL-OUT CALLOUT # ...」っていってとまっちゃいます田。 アドバイス頂けませんか?宜しくおねがいします。
906 名前:831 mailto:sage [2006/01/21(土) 01:20:28 ] orz 絵がずれちゃいました。 訂正 -----Lispソース(FFI含む)-------------- | インターフェース部を書いたCソースを|------------------------->C/C++で組み込み可能なDLL | コンパイルしたdll__________________| Clispでコンパイル -------------------------------------- またずれたら逝きます
907 名前:831 mailto:sage [2006/01/21(土) 01:33:09 ] スレよごしすいません 再訂正 1. インターフェース部を書いたCソースをCコンパイラ(VC++)でDLLを作成 2. VCからでできたDLLをLispソースに組み込んで、CLisp(FFIパッケージ使用)でコンパイル。 3. CLispからでてきたDLLをC/C++に組み込む ...すいませんでした。
908 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 01:40:25 ] 残念.CLISP の FFI ってのは CLISP から Dynamic Library (DLL とか) を扱 うための仕組みのこと. CALL-OUT: CLISP から DLL の関数を呼び出す +-------+ -----> +-----+ | CLISP | | DLL | +-------+ <----- +-----+ CALL-IN: DLL 内から CLISP の関数を呼び出す なので,C/C++ に組み込み可能な DLL は CLISP では作れない.ずいぶん C/C++ にこだわりを持ているようだけれど,ゲームでも作ってそっから Lisp の機能を呼びたいのかな?
909 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 01:46:17 ] CLISP は DLL を出力できません.ので,C のアプリから CLISP で作った機能を呼び出すには 1. ソケットを使う 2. パイプを使う 3. 共有メモリを使う (CLISP に拡張がいるかな?) のいずれかの手段が必要です.
910 名前:831 mailto:sage [2006/01/21(土) 02:01:40 ] >>908 解説、ありがとうございます。 自分、英語苦手なのばれちゃいましたね。 学生のときC/C++で記憶のモデルをつくってますた へたれな出来だったけど。 へたれソフトには一応それなりに考えて実装しますた。 それはそのままにして、新しい機能をLispで加えられたらと。 当時の研究、あまりいい結果でなかったけど おもしろかたんで社会にでても時間みつけてつづけてるって感じです。 ...素直にLispWorks購入しようかな
911 名前:831 mailto:sage [2006/01/21(土) 02:08:25 ] おお、 すいません、すれちがっちゃいました。 まずはアドバイスのとおり1,2,3について調べてみます 情報ありがとうございます。 ホント、世話になってます
912 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 11:06:07 ] WindowsならCorman Common Lispって手もある。IDE使わなきゃ無料だし、 ソースコードもついてたハズなんで見てみれば? トライアル版とはいえAllegro Common Lispに手を出してしまうとアホらしくて 他の処理系を使う気が失せるが個人で購入するには高すぎて手が出せない罠。
913 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 12:30:40 ] Cormanって日本語使えるようになったの? 以前試したときはダメだったけど。
914 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 13:28:16 ] >>912 そんなに高くは無いだろ。
915 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 22:49:24 ] Allegro, UNIX でもマルチスレッドに対応にしてくれると 多少高くても買うんだけどなあ…
916 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 23:07:47 ] >>914 え?いくらなの? 50 万くらいかと思ってたけど しかもそれでランタイムライセンスなしみたいな… 俺騙されてた?
917 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 23:21:37 ] 一番安いのだと十数万じゃなかったっけ。
918 名前:デフォルトの名無しさん [2006/01/21(土) 23:46:29 ] 本には (setf x '(a b c)) (setf (nthcdr 2 x) '(1 2)) とすると、xが(a b 1 2)となると書いてあるんですが、 エラーになります。処理系によって違いがあるんですか? 自分が試したのがclispとAllegro CL (共にWindows)で、 本が想定してるのがMac Common Lispです。
919 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:05:42 ] www.lispworks.com/documentation/HyperSpec/Body/03_abac.htm The consequences are undefined if literal objects (including self-evaluating objects) are destructively modified. 本の名前晒せ
920 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:14:11 ] Mac Common Lispの動作としてそうなるという説明であれば正しい 記述なのかもしれない。>>919 の言うように現在のCommon Lispの 仕様としては「不定」が正解。 ただし、動作が不定であるということが明確化されたのはCLtL2から だからそれ以前の本ならそういう記述があっても止むを得ない。
921 名前:デフォルトの名無しさん [2006/01/22(日) 00:21:24 ] >>919 本はこれです。 プログラミング言語Lisp入門からマルチメディアまで ASCII SOFTWARE www.amazon.co.jp/exec/obidos/ASIN/4756139264/ 今初めてアマゾンでレビュー見たんですが、 どうやらMacに依存した内容が多いようですね。 上のコードはMacじゃないと動かないという事なんですね。
922 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:30:39 ] エラーの原因はリテラルオブジェクトの書き換えではなく、(setf nthcdr)の未定義 じゃないかな。手元のclispだと、 (setf x '(a b c)) (setf (cdr x) '(1 2)) ならちゃんと通って、x = (A 1 2) になる。元のプログラムだと(setf nthcdr)の未定義 でエラーになる。
923 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:44:13 ] OpenMCL では問題無し。SBCL では (setf nthcdr) の未定義でエラー。 % ./dppccl Welcome to OpenMCL Version 1.0 (DarwinPPC32)! ? (setf x '(a b c)) (A B C) ? (setf (nthcdr 2 x) '(1 2)) (1 2) ? x (A B 1 2) MCL 系に依存したコードみたいね。>>921 の本は ANSI CL という よりは MCL の使い方を書いた本なんで問題無すぃ。
924 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 01:20:08 ] >>915 Windows以外はまだOSスレッドに対応してないんだっけ。8.0でも変わらないのかな。
925 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 02:01:16 ] >>831 VB だが。 www.cs.stevens.edu/~dlong/vbecl/
926 名前:918 [2006/01/22(日) 09:23:08 ] 皆さんありがとうございます。 ANSI標準のCommon Lispを勉強したかったんで、別の本を探して見ます。 Common Lispならどの処理系でも同じなのかと思ってました。
927 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 10:50:15 ] >>916 前は10万円以下のがHPでセールスしてたが今はアカデミック向けのが99ドルで載ってるな。
928 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 11:53:28 ] >>918 > ANSI標準のCommon Lispを勉強したかったんで、別の本を探して見ます。 仕様には規定されている事とされていない事がある。specified と unspecified ね。 さらに実装依存(implementation-defined)と定義されている事もある: (例) (disassemble) での表示形式とか declare で最適化するとかしないとか は規格で「実装による」と規定されている。だから本 + HyperSpec をつきあわ せながら勉強してけばいいんじゃね。ANSI Common Lisp (Paul Graham) あたりは 入門にはちょっと難しいと思われ。英語でもがんがる気合いがあるなら Practiclal Common Lisp がオススメ >>927 もう卒業したんでアカデミックダメポ…。学生時代はアカデミックが安ければ いと思っていたけどな。アカデミックが安いだけではダメな事に気がついた。 予算は Win なら MSDN にもってかれちゃうしな。
929 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 12:00:57 ] >>924 してない. 7 -> 8 の差分ってすごく小さい
930 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:19:36 ] >>895 > >>894 > 情報サンクス > 言語解析はそんなレベル高いものではない(と思う) > というのも認知心理学ちょっとやりたくて買った本が > 「Lispで学ぶ認知心理学」ってやつ。 おおおっ、もしやサンプルがAPPLE LISP でプログラムされているやつでは!
931 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:28:49 ] APPLE LISP は8bitマシンであるAPPLE ][ 用に慶応大の大西先生が 実装した処理系ですね。 6502のマシン語で書いたそうです。 メモリの一部がグラフィックメモリと共用なのでガベージコレクションして いるのが”見えた”ので教育用としても有用だった。
932 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:48:36 ] >>931 をいをい、大西先生じゃねーよ。中西先生な。死んじゃったけど。
933 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 15:02:48 ] >>923 OpenMCL では本当に問題ないのかなあ。CMUCL や SBCL では (setf x '(a b c)) (setf y '(a b c)) (setf (cdr x) '(1 2)) (print (list x y)) をコンパイルしてロードすると、リテラルが共有されるため ((A 1 2) (A 1 2)) となるんだけど、そういった想定外のことが起こったりしない?
934 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 15:47:12 ] OpenMCL では↓になったけど、リテラルリストに破壊的操作をするのは良くないですね。 ((A 1 2) (A B C)) (proclaim '(optimize (speed 3) (space 0) (debug 0))) しても一緒でした。 OpenMCL が SBCL や CMUCL に比べて遅いと言われてるのは、こういう所からなのかな。
935 名前:831 mailto:sage [2006/01/22(日) 23:26:26 ] どもです。 >>912 情報サンクス Corman Lisp 調べてみますた。 これ、なかなか使いやすそう。 お値段も 249$ (3万弱?)くらいで手が届く。 サンプルソースから推測するに、 実はこれC/C++に組み込めるのでは?(しかもCとのインターフェース部、自分でも扱えるレベル!?) ちょいいじってDLL出力させてみたとこ、ヘッダーとDLLでてきますた。 LoadLibraryでVC++から読み込ませたら一応コンパイルは通った。 実行させると ダイアログで 「Cormanなんとか.dll」がなんとかかんとかって言ってた。 お金はらえば、わたすの願いかなうんですかね? ソケット通信調べる前に、もうちょいいじってみます。 >>925 情報サンクス ダウンロードさせていただきます田。 時間あるとき、いじらさせて頂きます。 >>930 、931 自分、全くの初心者なんでAPPLE Lispのすごさわかりませんが、とても読みやすいと感じますね。 環境整えてからって思ってたけど、今日からこの本を読み恥じめてます。 自分の場合、手段(Lisp)と目的(認知)が同時に学習できますんで、効率的だと思ってアマゾンで購入。 3巻同時に手に入れられたのは運がよかった。 んー ホントにLisperになりたい。 900さんにも言われたとおり、 アルゴリズムに集中して勉強してゆきます〜
936 名前:831 mailto:sage [2006/01/23(月) 01:43:11 ] >>935 にて >ちょいいじってDLL出力させてみたとこ、ヘッダーとDLLでてきますた。 訂正: すいません、勘違い訂正します。 もともとあったexampleフォルダ内で用意されてたtestdll.dllを利用しますた んー最近すれよごしばかり。 少し書き込み控えます。
937 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 00:52:04 ] c.l.l.のなが〜いスレッド読んで知ったこと。 ACLって成果物(って呼び方でいいんだろか)配布するのに毎年ライセンス料を払い 続けなければいけないらしい。へぇ。だから皆高い高いって言うんだ。 これってGCCで作ったバイナリ勝手に配っちゃダメって言ってるのと一緒でしょ? 間違ってたら訂正願います>詳しい方
938 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:23:54 ] まぁ (loop (print (evel (read)))) みたいなのコンパイルしてバイナリ配ったら Lisp そのものになっちゃうからな。配布ライセンスが必要という気持ちも理解 できないことはない。 個人的にはフリーソフトの発展に期待。
939 名前:831 mailto:sage [2006/01/26(木) 00:44:57 ] 例題をやってて呼び出せない関数がいくつか。 put (putpropもだめ) unpack (explodeもだめ) maknam (pack inplodeもだめ) 現在、Corman LIsp使ってます。 これら関数の別名もしくは使い方知っているひといたら教えてください。 >>Corman Lisp使っている人 trace の使い方、教えてください。 ・・・教えて訓ですいません
940 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 00:51:37 ] >>939 それぞれ setf + get symbol-name make-symbol で代用すべし。つーか、Common Lispの仕様持ってないの?
941 名前:831 mailto:sage [2006/01/26(木) 01:05:18 ] >>940 情報サンクス >つーか、Common Lispの仕様持ってないの? 今週末、本買いにゆきます すいません〜
942 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 01:06:13 ] >>939 その聞き方じゃ現代 Lisper にはわかんねーよぅ
943 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 01:23:25 ] car とか cdr とか禁止で 短くていいじゃんと思う俺はきっと汚染されてる
944 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 05:11:44 ] >>939 (trace 'func) でトレースしたい関数の記号を引数にとる。 あとは普通にfuncを実行すればトレースの結果が表示される ところで、いい加減Javaくらいできないとマズいかなと思い 借りてきた本の著者が井田昌之だった
945 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 09:56:04 ] lispができるならJavaいらんだろ。CがまだならC、CができるならC++かC#にしとけ。
946 名前:デフォルトの名無しさん [2006/01/29(日) 13:22:00 ] gclのソースを弄って、gclを立ち上げるときに、 自動的にこちらの指定したlispのコードを実行させるようにしたいのですが、 どうすればいいでしょうか?
947 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 13:36:57 ] 宿題は自分でやれ。
948 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 13:59:48 ] >>946 そんなのソースをいじらんでもコマンドラインオプションでできねーか?
949 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 14:04:10 ] どこの小学校だ、変な宿題出しているのは。
950 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:00:26 ] 理素譜
951 名前:デフォルトの名無しさん [2006/01/29(日) 16:29:24 ] gclを弄って、gclが起動したら、自動的にlispのコードが実行されるようにするのが、 課題なんです。 gclのstdinに、lispのコードでもプリントで書き込めばいいのでしょうか? わけわからん。
952 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:39:04 ] お前にはセンスも才能も将来もないことはよくわかった。 向上心が少しでも残されてるなら宿題は自分でやれ。
953 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:50:14 ] ってか出題者は何を意図してんだろ。本気で小学校レベルなのかな。
954 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:06:54 ] >>953 ”翻訳”を通すとこうなる。 よくあることなので気に病まないほうがよい。
955 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:09:21 ] 少なくともLispの課題ではないのだろう。(C言語の課題かな?) 正しい質問場所を見つけるのも課題なのかな。w
956 名前:デフォルトの名無しさん [2006/01/29(日) 17:31:19 ] 日本人です。 gclを起動→自動的にlispの関数が実行され、 読み込み状態になる。 を実現しなきゃいけないんです。 処理系弄るの初めてなので、 ちょっと困ってます。
957 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:35:50 ] >>956 そうですか。ちなみに私は困っていません。
958 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 18:23:55 ] おまいらちゃんと>>1 を読み直せ。このスレはまた〜りが信条じゃなかったのか? GCLってとこが致命的だな。いまどきGCLメインで使ってる人ってどれくらい居るんだろ。 普通に考えたらREPL起動前にユーザ定義の処理を走らせるとかその程度のことは処理系が 持ってるはずなんで>>948 の言い分を調べてみるのが先決かと。 調べた結果「無い」ってことならそれを実装しろってのが課題の主旨と思われるので REPLに突入する前に自前のコード突っ込めば終わりじゃね?
959 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 18:29:04 ] Lispの授業じゃなくてコードリーディングみたいなのの課題なんじゃない? さすがにスレ違いだと思うよ。
960 名前:デフォルトの名無しさん [2006/01/30(月) 00:02:17 ] gclに、iniファイルとかは使えますか?
961 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:05:06 ] >>958 もうちょいまともな聞き方すれば数日前に答えが手にはいったのにな。 ちょっと酷いからスルーしてしまってた。 1. まず hogehoge.lisp ってファイルをエディタでつくる。 % vi hogehoge.lisp 2. -load オプションをつかって gcl を起動する % gcl -load hogehoge.lisp 最近の GCL ならこれで gcl が起動し hogehoge.lisp を読み込まれる もし本当に GCL を改造しろという課題なら 2ch でダメダメな質問してる時点 で自力で解くのは諦めたほうがいい。クラスのできそうなやつに飯でもおごる とかしてやってもらうのが唯一の方法だろ。 >>958 行動を選択してください [A/B/C] A. 知りたい事がわかったので礼も言わずに消える B. 礼を言って消える C. 回答が的はずれだ俺の知りたい事はxxxxとかいいだす
962 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:14:34 ] 2ch でだいぶんトンデモ質問にも慣れたと思っていたけどこれは… もう超能力で補うしかねぇな。まっとうなところなら A. GCL のオプション設定を ini ファイルで指定できますか? → コマンドラインからの ni ファイルの解析を自分でやらないと標準で ini ファイル B. GCL で ini ファイルを読み書きするライブラリは標準でついていますか? → ついてません。ini ファイルの読み書きがしたい場合は自力でなんとかしてください。 C. GCL で ini ファイルを読み書きする事は可能でしょうか? → 自分で処理を書く、Win32API を呼び出すなどすればできます。が C でini が扱える程度の技術が必要です。 どれか当ってねぇかな〜と期待
963 名前:デフォルトの名無しさん [2006/01/30(月) 00:22:34 ] すみません。 gclを起動したら、初期設定ファイルを読み込んで、 こちらの指定したコードを実行させるようにはできないかと思ったのです。 schemeではiniファイルを読ませることができたので。 どうすればいいですか?
964 名前:958 mailto:sage [2006/01/30(月) 00:30:10 ] ぉ。風呂から出てきたら俺が質問者になってるみたいだな。 ほんじゃ>>961 の回答は以下でファイナルアンサーってことでよろしく。 D. 誰か次スレ立ててね はぁと(w あと質問してる人、sage覚えてね。
965 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:36:19 ] >>958 殿へ どうみても誤爆です。 拙者責任をとって切腹つかまつるゆえ次スレは立てられませぬ。
966 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:38:39 ] 次スレいらんだろ。 このスレ使いきるまで一年以上かかってるし、本スレに合流でいい。
967 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:49:46 ] >>961 > 本当に GCL を改造 main関数をmain2とかに改名して、 argcとargv弄るだけ…でいいんだろうか。 それだと学校の課題としては変だよなぁ…。
968 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:54:34 ] GCLの質問する奴、みんな質問の仕方が妙だよな。 気になるから誰か課題の全文をウプ汁。 おじさんが模範解答を作ってやる。
969 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 01:18:05 ] 何か盛り上がりそうだけど本スレ汚すのも気が引けるんであふれたら 過疎化したスレのリサイクルにご協力をお願いします。 【一日】CommonLisp【一門】 pc8.2ch.net/test/read.cgi/tech/1106587515/
970 名前:963 [2006/01/30(月) 01:22:43 ] >>967 「他のcのプログラムから、gclのmain関数を呼び出し、 その時点で、こちらの指定したlispのコードが実行され、 ユーザの入力待ち状態にすること」 です。
971 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 01:50:05 ] >>970 ほんとにそんなダメ日本語な問題なのか?思い込みで解釈せずに正確に写せ。 あと Mail 欄には sage と入力してください。それができたら解答する。
972 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 03:22:43 ] >2006-01-30 02:39 gb > > * lisp-kernel/freebsd8664/: Makefile, elf_x86_64.x: New files. > > FreeBSD make (and gmake) both want to rebuild all .s files, but > this otherwise seems to work. FreeBSD にも対応するのかな。
973 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 02:32:09 ] Lispで記述された結構な量のライブラリがあって、これをC/C++から簡単に呼び出せる ようにしたいのですがお勧めの処理系はどれになりますか? LispからC/C++を呼び出す例はいろんな処理系でドキュメントが整備されてますが 逆はあまりやられてないようなので。ECLがC/C++との親和性が高いかなと思っていじって いるんですがどの程度規格に準拠してるかとか、いまのライブラリがそのまま コンパイルできるかなとか疑問な点がまだ多いので識者の意見をお聞かせいただければ、と。
974 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 04:04:49 ] 授業でLISP習ったんだけど 最初なんじゃこりゃ頭いてーと思ったけど これ結構おもすれー(^ω^)
975 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 23:01:02 ] (eval '(^ω^)) おもすれー おもすれー
976 名前:デフォルトの名無しさん [2006/02/14(火) 16:39:01 ] JAVAからclispを呼び出せるようになったのだが、何に使えるだろう?
977 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 19:36:49 ] >>976 JAVAからclispを呼び出すのに使える
978 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 19:48:30 ] >>977 それには気がつかなかった
979 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:49:00 ] >>977 目からうろこが(ry ま、clispがjavaから呼べてもLISPを使用しなければならない 業務処理が思いつかん。 やhり無駄なものを作ってしまったか。
980 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:55:01 ] Servlet を Common Lisp で書けたりすると面白いかも。 そうなると Lisp 自体も Java VM 上で動かして、高速に相互呼び出しできる ようにしたくなるね。
981 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:58:04 ] じゃ、ABCL で。
982 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:37:55 ] >Java VM 上で動かして それってjavaでlispの処理系を書くということ? どこかにありそうな気がするな。 基本的にjarかなんかでjavaコードの中でlispコードが 走れば最高なんだけどな。 XMLのパースとか楽になるんだが。
983 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:40:37 ] >>982 それが >>981 (armedbear.org/abcl.html ) です...
984 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:03:52 ] >>983 すごいねコレ。 早速使ってみるわ、thx
985 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:10:57 ] (format t \"Hello, world!~%\")が8秒かかるんだが、 compileすれば早くなる?
986 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:16:04 ] スマソ。俺はちゃんと使った事がある訳じゃないんで詳細は知りません。 テキストエディタに使われているくらいだから、そんなに遅くはないと 思いたいけど。 armedbear-j.sourceforge.net/ JavaVM の起動とクラスのロードに時間が掛かってるとかじゃなくて?
987 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:21:24 ] >JavaVM の起動 それだ。 別のVMを起動するのに時間がかかっているのか。 同一VMで動くようにすれば早そうだ。
988 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:53:28 ] うちではこんな感じ。jikes でコンパイルしてたから、javac ならもっと速いかも。 別の VM を起動したりはしないと思うよ。初回だけ妙に遅いね。 % ./abcl Armed Bear Common Lisp 0.0.9 (built Tue Feb 14 2006 23:40:55 --900) Java 1.4.2_09 Apple Computer, Inc. Java HotSpot(TM) Client VM Low-level initialization completed in 2.388 seconds. Startup completed in 9.052 seconds. Type :HELP for a list of available commands. CL-USER(1): (time (format t "hello, world~%")) hello, world 5.287 seconds real time 62770 cons cells NIL CL-USER(2): (time (format t "hello, world~%")) hello, world 0.0020 seconds real time 67 cons cells NIL CL-USER(3):
989 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 00:54:59 ] うちは Windows でやってみたが、やはり一発目は遅いね。 クラスライブラリのロードか何かだろう。 Armed Bear Common Lisp 0.0.9 (built Wed Feb 15 2006 00:49:19 --900) Java 1.5.0_04 Sun Microsystems Inc. Java HotSpot(TM) Client VM Low-level initialization completed in 0.563 seconds. Startup completed in 2.172 seconds. Type :HELP for a list of available commands. CL-USER(1): (time (format t "hello, world~%")) hello, world 1.203 seconds real time 62770 cons cells NIL CL-USER(2): (time (format t "hello, world~%")) hello, world 0.0 seconds real time 67 cons cells NIL CL-USER(3):
990 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:19:54 ] すみません、インストールしてabclからjreのメソッドとかは呼び出せるんですがサンプルのhello.javaがコンパイルできません。 どうすれば・・・いいんでしょう F:\abcl-0.0.9\examples>javac hello.java hello.java:1: パッケージ org.armedbear.lisp は存在しません。 import org.armedbear.lisp.*; ^ hello.java:8: シンボルを見つけられません。 シンボル: クラス Interpreter 場所 : hello の クラス Interpreter interpreter = Interpreter.createInstance(); ^ hello.java:8: シンボルを見つけられません。 シンボル: 変数 Interpreter 場所 : hello の クラス Interpreter interpreter = Interpreter.createInstance(); ^ エラー 3 個
991 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:38:37 ] >>990 cd examples javac -classpath ../abcl.jar hello.java java -classpath ../abcl.jar;. hello みたいな感じで動いたよ。
992 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:46:49 ] >>991 おお!動いた、動きましたありがとう!
993 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 13:05:42 ] ABCLでだが Interpreter interpreter = Interpreter.createInstance(); LispObject obj = interpreter.eval("(print (directory \"c:/\")"); これが動かない理由が分からない。 XYZZYだと動くんだが。
994 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 13:54:15 ] >>993 Common Lisp の仕様判ってる? xyzzy なんて方言を持ち出されても・・・
995 名前:ゲハシマ mailto:sage [2006/02/15(水) 19:17:27 ] >>994 偉そうに言うだけか? 仕様とやらを示してみろよ
996 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 20:17:09 ] >>995 大馬鹿発見!!
997 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 20:18:53 ] とりあえず >>102
998 名前:993 mailto:sage [2006/02/15(水) 20:59:40 ] >994 主にjavaしか触らないので言語仕様は良くはしらないが、 XYZZYとは微妙に違うということは解った。 >995 あんた誰?
999 名前:993 mailto:sage [2006/02/15(水) 21:12:49 ] あるディレクトリの拡張子が指定されたものであった場合に、条件に 合致する全てのファイルを削除するlisp式ってどう書きます?
1000 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 21:21:35 ] CL-FAD を使えば (fad:walk-directory #p"/home/onjo/tmp/" ;; ディレクトリを指定 #'(lambda (p) (when (string-equal (pathname-type p) "txt") ;; 条件判定 (fad:delete-directory-and-files p))))
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。