1 名前:名無しさん@お腹いっぱい。 [02/04/28 01:55] なんだかんだ言って,ホントはみんなLispが好きなんだろ?(藁) というわけで,語ろうや. プログラム技術板のLisp Schemeスレ pc.2ch.net/test/read.cgi/tech/1016211619/
97 名前:名無しさん@お腹いっぱい。 [02/09/25 19:37] >>96 Richardが、かって泣かんばかりになげいたことがあります。「私の人生って なんだったんだろう。」 私が感じるのは、技術の進歩はそれだけで独立しているものではないというこ とです。それなのに彼は、あまりに自分の仕事に熱中していてまわりのことを 気にしていませんでした。それにときどき自分で気がついてなげくことがある のです。同時に私生活についても同じことが言えます。ある時、いつものよう に満員の小田急線の中で、若いアメリカ人女性3人がそばにいて、一生懸命彼 が話しかけていたことがあります。あきらかに話がかみ合わないのですが、そ れでもめげずに必死に話しかけます。3人は先に降ります。すると、彼は 「チェッ、また逃しちゃった。いつもそうなんだ。」 RMSアニキに萌え……
98 名前:名無しさん@お腹いっぱい。 [02/09/25 21:42] でも rms は 年齢!=彼女いない暦 (ex. Alix) なのだから、この板にいるやからの 2/3 より偉い。 漏れよりモナー
99 名前:92 [02/09/25 21:46] >>93 チェッ。。。ネタじゃないのに。 じゃあ、痺れるような continuation の使い方を見せて。
100 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/25 23:05] ((call/cc call/cc) (call/cc call/cc))
101 名前:92 [02/09/26 18:07] >>100 ネタはもうお腹いっぱい。 continuation は、いくつかの関数がやりとりしながら進行するようなときに使うらしい。 でも、これは scheme の強力な部分ではないのですか?どう使えばいいのよ?
102 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/26 19:17] www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-15.html#%_sec_13.4.1
103 名前:名無しさん@お腹いっぱい。 [02/09/27 23:42] scwmやgwmを使ってる奴少ないな。
104 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/30 12:00] gwmはlisp類じゃないような。見た目はlispっぽいけど。 Cとc-shellぐらい違う。
105 名前:名無しさん@お腹いっぱい。 [02/10/02 21:29] scwmは半年前に使ってみたけど、不安定だったなー
106 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/15 10:49] >>101 (let () (call/cc(lambda(break) 〜なんかの処理〜 停止したいときにbreakに括弧を付けて呼びだすと、 )) ; lambda call/cc ここにジャンプする ) ; let このbreakの値(=継続)を保存しておくと、任意の位置で中断と再開ができたりする。 応用は、デバッガ、強調型マルチタスク、コルーチン、任意の処理のハンドル化、など。
107 名前:名無しさん@お腹いっぱい。 [02/10/15 22:59] あ〜そろそろACL更新しなきゃ
108 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/15 23:35] trial 版て Composer 使えないんだもん。つまんない。< ACL
109 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/16 00:09] cmuclでそこそこ幸せなんですけど、 ACLってそんなに(・∀・)イイ!!ですか?
110 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/16 21:06] >>109 なんだか動作が速い気がする。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/16 21:41] cmuclのwindows版は無いんですか?(かなり探したけど見つからなかった)
112 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/16 22:22] >>111 ありません。clispで我慢汁。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/17 02:19] そうですか。残念。 cmulispとclispの違いって何ですか?
114 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/17 02:20] ACLの最適化はメチャすごくて、 ほとんどC++で書いたのと変わらない速度になるそうだ。
115 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/17 21:55] >>114 この辺の話ですか? www.graco.c.u-tokyo.ac.jp/~kamina/lisp/bench.html 取り上げている問題が、再帰関数と、リスト処理 だから、このページの ACL と C++ との比較は ちょっと当てにならない気がする。
116 名前:名無しさん@お腹いっぱい。 [02/10/18 20:18] どっかに物凄い種類の言語のベンチ比較したサイトなかった?
117 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/18 21:29] >116 これのことかえ? www.bagley.org/~doug/shootout/craps.shtml
118 名前:166 [02/10/19 22:25] そうそうこれこれ。ありがとさん。
119 名前:116 [02/10/19 22:26] s/16/11/
120 名前:名無しさん@お腹いっぱい。 mailto:sage [02/10/19 22:48] Javaやスクリプトなんかは比較にならないくらい速いねえ。
121 名前:名無しさん@お腹いっぱい。 [02/10/22 21:57] >>120 何処みてるの?
122 名前:名無しさん@お腹いっぱい。 [02/10/28 00:31] age
123 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/02 15:52] おいおい、そろそろ保守しないとヤヴァインじゃない?
124 名前:名無しさん@お腹いっぱい。 [02/11/05 09:04] 変数に型が無いからな。
125 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/05 22:17] (age Lisp@UNIX版)
126 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/05 22:52] (defun age (thread) (case thread ((pc3.2ch.net/test/read.cgi/tech/1031560687/l50 ) 'age) ((pc.2ch.net/test/read.cgi/unix/1019926525/l50 ) 'sage) ((pc.2ch.net/test/read.cgi/prog/1031179059/l50 ) 'hage)))
127 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/05 23:17] cmuclのgcについて質問してもいいですか?
128 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/05 23:31] >>127 だめって行ったらどうすんのさ、 そんなこと聞かずに、普通に質問したら?
129 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/05 23:57] >>128 えっと、Debian GNU/Linuxのwoodyのcmuclとsbcl(Steel Bank CommonLisp)を 使っています。 cmuclのドキュメント(cmu-user.ps)を見ると、 *bytes-consed-between-gcs*という大域変数で、どこまでコンスが作られたら、 GCが行われるか決定されるか設定できるみたいに書いてあります。 デフォルトでは2000000になっているそうです。 一方、sbclでのデフォルトは20Mになっているそうです。 例えば古典的な8queensなんかを(コンパイルして)実行すると、 cmuclではしょっちゅうGCをはじめるのでsbclの10倍以上時間がかかります。 cmuclで(defparameter *bytes-consed-between-gcs* 20000000)とかってしても、 GCが行われる頻度は変わりません。 どうやったらcmuclでもGCでマメに止まらないようにできるのでしょうか。 厨房でスマソ。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/06 00:40] >>129 cmuclは使ったことないです、お手上げ。 pc3.2ch.net/test/read.cgi/tech/1031560687/ とか pc.2ch.net/test/read.cgi/prog/1031179059/ で聞いてみてちょ、力になれなくてスマソ。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/06 00:51] 8queenでガベコレいるか?
132 名前:名無しさん@お腹いっぱい。 [02/11/06 01:03] >>129 (setf (bytes-consed-between-gcs) 20000000) かな。
133 名前:名無しさん@お腹いっぱい。 [02/11/06 01:05] -- Variable: *bytes-consed-between-gcs* CMU Common Lisp automatically GC's whenever the amount of memory allocated to dynamic objects exceeds the value of an internal variable. After each GC, the system sets this internal variable to the amount of dynamic space in use at that point plus the value of the variable `ext:*bytes-consed-between-gcs*'. The default value is 2000000. 英語よくわからんのであれだが GCしはじめる数値を処理系がこの変数にセットするだけでないかい。 この変数を変えるとGCしなくなるんじゃなく。
134 名前:名無しさん@XEmacs mailto:sage [02/11/06 07:45] CMU Common Lisp は動的オブジェクトに確保されたメモリの量が内部変数の値を超える たびに自動的に GC する。各 GC の後、その時点で使用されている動的スペースの量に 変数 `ext:*bytes-consed-between-gcs*' の値を加えたものを内部変数にセットする。 初期値は 200000である。
135 名前:名無しさん@お腹いっぱい。 [02/11/06 08:27] .cmucl-initに (setf (bytes-consed-between-gcs) 20000000) してみました。 * (time (queens 10)) すると、 [GC threshold exceeded with 21,062,632 bytes in use. Commencing GC.] [GC completed with 1,119,416 bytes retained and 19,943,216 bytes freed.] [GC will next occur when at least 21,119,416 bytes are in use.] ですのでコンスが20Mを越えたときにGCが始まるようになりますた。 ちなみに(queens 10)だと24回GCして37secかかります。 sbclですと一度もGCしないで0.85secで(queens 10)できますた。 なんでこんなに違うんだろう……
136 名前:135 mailto:sage [02/11/06 12:37] 勘違いしてましたスマソ。 cmuclでは * (load "8queens.lsp") * (compile-file "8queens.lsp") しても、 * (load "8queens.x86f") するまでは8queensの関数はコンパイルされていないものが用いられる ことに気づいていませんでした。 sbclではトップレベルの関数は即コンパイルしているんで違うのあたり前田った。 恥ずかしい……
137 名前:名無しさん@お腹いっぱい。 [02/11/10 03:10] (gc)
138 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/17 05:22] >>137 gcしたらこのスレは消えると思うが。
139 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/28 17:07] >>138 スレじゃなくて、レスが消えたな。
140 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/28 21:41] (sage)
141 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/29 00:54] [1]>(sage) *** - EVAL: the function SAGE is undefined 1. Break [2]>_
142 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/29 01:21] (defun sage () (sage))
143 名前:名無しさん@お腹いっぱい。 mailto:sage [02/11/30 04:17] [1]> (defun sage () (sage)) ** - Continuable Error DEFUN/DEFMACRO(SAGE): #<PACKAGE COMMON-LISP> is locked If you continue (by typing 'continue'): Ignore the lock and proceed 1. Break [2]>
144 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/07 20:38] 寂れてるね。emacsスレがあるからいらないか。
145 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/08 12:07] (寂れてますね)
146 名前:名無しさん@お腹いっぱい。 [02/12/11 14:50] cl-httpd を cmucl 18d で動かせた人居ますか?なんか、cmucl 用のパッチを 当ててもコンパイルできないんすけど…。
147 名前:名無しさん@お腹いっぱい。 [02/12/15 03:59] age
148 名前:名無しさん@お腹いっぱい。 [02/12/15 11:45] CLOSが気に入ってます。 Allegro CLを研究室の予算で買ってもらおうかな…
149 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/15 13:36] >>148 ええのぅ。漏れもホスィけど金無いから cmucl で我慢。 windows では clisp か newlisp かなぁ…。
150 名前:名無しさん@Emacs [02/12/17 12:35] clawk 便利 age
151 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/17 16:22] >>150 あなたは なみなみならぬ修行を積んだ強者か単なる変態と 思われます。
152 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/17 17:03] (´-`).。oO(そんな事言える 151 も同類では?)
153 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/17 17:22] (´-`).。oO(他人を推量できるからには 151 は強者かつ変態である、に一票)
154 名前:151 mailto:sage [02/12/17 17:40] コードのぱっと見だけでもだいぶ違和感がある。(ないかい?) www.geocities.com/mparker762/clawk.html ケナしたりクサしたりしてるつもりはなくて、正直な感想です。 強まった lisper & awker ならすんなりイケるんですかね。 ま、も少し遊んでみます。
155 名前:150 mailto:sage [02/12/17 19:06] …全然修行を積んでないということは,漏れは…で,でも,少なくとも regex は便利っすよね? (let ((m (compile-str "[:digit:]+"))) (scan-str m "abc 012 cde")) のように,compile-str で明示的に正規表現をコンパイルできて (゚д゚)ウマー しかも GNU regex より速いそーですし.ウマウマ
156 名前:名無しさん@お腹いっぱい。 [02/12/19 12:57] おまえら,xml パースには何使ってますか?やっぱ Franz の xmlutils ですか?
157 名前:名無しさん@お腹いっぱい。 [02/12/20 19:28] >>150 regex よりほんとに速いのか誰か確かめてくれ.
158 名前:名無しさん@お腹いっぱい。 [02/12/21 12:36] >57 regex.tgzの中にテストコード入ってるよ
159 名前:名無しさん@お腹いっぱい。 [02/12/21 12:51] 試用版Xanalys LispWorks 4.2はここ www.lispworks.com/downloads/lw-personal-edition.html
160 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/21 13:18] >159 結構制限キツイなぁ….Allegro に比べてどーなんだろう. 使ってる人の感想キボンヌ.でもやっぱ個人で買うにはちと高いなー.
161 名前:名無しさん@お腹いっぱい。 [02/12/21 14:13] で,早速試してみますた. "A*BD" Lisp : 4 secs, 272480/sec, C : 47 secs, 21276/sec "(A|A)*BD" Lisp : 4 secs, 253807/sec, C : 167 secs, 5988/sec "(A|B)*BD" Lisp : 4 secs, 233100/sec, C : 163 secs, 6134/sec "(B|A)*BD" Lisp : 4 secs, 231481/sec, C : 183 secs, 5464/sec "((A*B)|(AC))D" Lisp : 4 secs, 237530/sec, C : 95 secs, 10526/sec "((A*B)|(A*C))D" Lisp : 4 secs, 242131/sec, C : 101 secs, 9900/sec "[Aa]*[Bb][Dd]" Lisp: 5 secs, 216450/sec, C : 49 secs, 20408/sec さすがに文字列の比較(string= と strcmp)は C のが 2 倍くらい速かったですが. これで安心して使えます.ナカナカ(・∀・)イイ!!
162 名前:Lisper 心得見習い [02/12/22 21:09] >159 Windows 用なら Corman Lisp も良いと聞きます。聞いただけですが。 www.cormanlisp.com/index.html cmucl の 12/19 日版のバイナリが公開されてますが試した人居ます? 早速入れてみましたが clocc のビルドにこけて 18d に戻しちゃいました。
163 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 05:52] >>162 コーマンなんてネタかと思った。スマソ。 Corman の読み方は'コーマン'でいいの?
164 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 13:22] ロジャー コーマン(Roger Corman)と同じ綴りなので カタカナで表記すると コーマン だろうな。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 13:35] $200 か。これくらいの手頃な値段で開発環境が普及していれば、Lisp も もっとメジャーになれたかもしれないな。しかも旧バージョンは非商用なら 無料で使えるという太っ腹ぶり。しかし Windows 専用。
166 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 15:50] 日本語使えまつか?
167 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 16:05] $200 なのは 12/31 までだね。 その後でも $249 だからさして高くない。 非商用ならコンパイラとランタイムはフリーみたいだよ。 旧バージョンじゃなくても。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 16:15] なんだか Windows が欲しくなってきた sage >>166 試せる環境があるなら是非試してみてください.
169 名前:166 mailto:sage [02/12/23 18:28] 使ってみた。 どうも日本語のことは考えてないっぽい。
170 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/23 20:03] 二バイト目がアレな文字の後には \ が要ったりするんですかね? 今んとこちゃんと多言語対応してるのは Allegro だけなのかな?
171 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/25 13:02] Strong typing is for weak minds!!
172 名前:名無しさん@お腹いっぱい。 [02/12/27 13:25] 誰も cl-httpd は使ってないのか… PortableAllegroServe を試したけど 遅かったので Apache + mod_lisp + cmucl でがんばる事にしました. で,html の元データとして S 式を使うわけですが,SXML みたいな何か標準 のフォーマットみたいなのはあるんでしょうか? AllegroServe の htmlgen に合わせとけばいい?
173 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/28 15:18] >>172 >SXML みたいな何か標準のフォーマットみたいなの 便乗質問なんだけど、DSSSLってのは、それのことなの?
174 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/28 22:05] DSSSL って SGML 文書間の変換用のスタイルシートみたいなもんだから 172 の求めているのとは違うよーな気もする。172 の「S 式からの変換」 ではそんな大層な仕掛けは不要だと思われ。つーか DSSSL 使ってる香具師 居る?
175 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/28 22:20] Common Lisper な人々にお聞きしたいのですが、シンボルが大文字なのは どうですか?(setf (readtable-case *readtable*) :invert) とかしてる んですか?
176 名前:名無しさん@お腹いっぱい。 [02/12/30 00:51] >175 これやったら ilisp-mode で欝になりますた。
177 名前:名無しさん@お腹いっぱい。 [02/12/30 10:08] 大文字だと見づらい 大文字だと怒られてる様な気もする
178 名前:名無しさん@お腹いっぱい。 [02/12/30 10:54] (setf (readtable-case *readtable*) :preserve) だろ?と思ったら標準の関数って全部大文字なのか…
179 名前:名無しさん@お腹いっぱい。 [03/01/06 14:07] clawk を使ってみた.awk よりかなーり遅いんだが,漏れ何かおかしな事してる かな?(500 個のテキストファイルを処理して awk: 2 秒弱 clawk: 35 秒) (defmacro $gsub! (pattern replacement &optional (source '$0)) `(setf ,source ($gsub ,pattern ,replacement ,source))) (defun html2txt () ($gsub! "<[^>]*>" "") ($gsub! ">" ">") ($gsub! "<" "<") ($gsub! """ "\"") ($gsub! " " " ") ($print $0)) (defvar flag nil) (defawk egroup->txt () (BEGIN (setf flag nil)) (#/^<\/pre>/ (setf flag nil)) (t (if flag (html2txt))) (#/^<!-- Body !-->/ (setf flag t))) (defun convert () (with-open-file (f "./output.txt" :direction :output) (let ((*standard-output* f)) (dolist (p (directory "home:doc/ML/emacs21/")) (egroup->txt p)))))
180 名前:山崎渉 mailto:(^^)sage [03/01/15 13:01] (^^)
181 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/22 14:04] '(リストの中の人も大変だな)
182 名前:名無しさん mailto:sage [03/01/22 17:57] >>181 nilの人などいない!
183 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/23 03:59] nilのcdrなどない!
184 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/23 22:09] それじゃそのまんまだろ
185 名前:名無しさん@お腹いっぱい。 [03/01/24 03:01] 通常Lispは、メモリの階層構造性も、パイプライン化されたハードウェアの 特性も、無視した能天気で天真爛漫なインプリメントされていることが 普通なので、現代の最新CPUの性能をドブに捨てるような使い方になる。 これに関しての最近の改善努力について何か知っていたら、教えて欲しい。
186 名前:名無しさん mailto:sage [03/01/24 03:26] ところでGCCの中間コードってリスプなんだな。知らなかったよ。
187 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/24 20:26] >>185 そ、そうなんですか? Lisp コンパイラというと AllegroCL, LispWorks CMUCL くらいしか知らないんですが、CMUCL のドキュメント ttp://cvs2.cons.org/ftp-area/cmucl/doc/CMUCL-design.pdf の compiler overview を見たら考慮してそーだし、商用のコンパイラなら 当然考慮してそうですけど…。
188 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/31 01:07] SICP に載ってる scheme チップのコード効率は どうなんだろ 実物触ったことないからわからないや
189 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 16:32] (defun pc.2ch.net/test/read.cgi/unix/1019926525/189 () (pc2.2ch.net/test/read.cgi/tech/1042167213/59 ))
190 名前:名無しさん@お腹いっぱい。 [03/02/08 22:36] >>189 Stack over flow
191 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/08 23:30] >>190 末尾再帰最適化される処理系では回り続ける。
192 名前:名無しさん@お腹いっぱい。 [03/02/18 22:36] LISPの括弧ってさ、便利だけど、 そのまま制限だよな。 いちいち一時変数使うためにletの括弧でネストしたり。 構文もそれ自体に括弧のペアが必要だし。
193 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/18 23:51] >192 それのどこが「制限」なのか問詰めたい
194 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/18 23:54] つまり「両刃の剣」と言いたいんだろう
195 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/19 09:39] しかしプログラムがS式ってのがlispの力の源泉だからな。
196 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/19 11:47] なんでも括弧でくるめばいいからラクだけどなー
197 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/19 12:18] >>192 a[i] 配列の添え字 a[2] = {1,2} 配列の要素 int(2.3) 関数呼び出し という3種類の括弧を使うプログラミング言語もあるけど、 ()だけですむLispってどうよ?よくない?