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 あたり
378 名前:デフォルトの名無しさん mailto:sage [04/03/24 10:49] >>376 分からないかな。 "普及すれば普及する"というロジックが。 最初の出発点は些細なことでしょ。(Lispは重すぎたとか)
379 名前:デフォルトの名無しさん mailto:sage [04/03/24 11:13] >>378 言いたいことは、分かるよ。原因と結果が循環するということね。 ただそれは、ある言語が普及しだして、一応、人気が軌道にのってからの話しでしょ。 >最初の出発点は些細なことでしょ。 最初の一撃ってけっこう大切なことでしょ。それが些細なことであっても。
380 名前:デフォルトの名無しさん mailto:sage [04/03/24 11:17] しかし、今となってはLispが重いとか言っている年寄りは、そろそろ引退してくれる頃だよね。
381 名前:デフォルトの名無しさん mailto:sage [04/03/24 13:07] (だが、気をつけ給え。その論理の行き着く先はIf Lisp Is So Greatだ。)
382 名前:デフォルトの名無しさん mailto:sage [04/03/24 22:57] >>380 いいから、携帯でLisp動かしてみろ。GBAでもいいよ。 PCとかワークステーション以外は、始める前から年寄り引退確定か
383 名前:デフォルトの名無しさん mailto:sage [04/03/24 23:07] 多分動かすだけなら難しくはないな >382 は自分でLisp処理系を作ったことがないのか?
384 名前:デフォルトの名無しさん mailto:sage [04/03/25 00:42] 動かすだけなら難しくないと思う。 >382 はILC2003で絶賛された湯浅センセのXSでも勉強すれ。 hxxp://www.xslisp.com/
385 名前:デフォルトの名無しさん mailto:sage [04/03/25 06:45] ・動かすだけなら難しくない ・処理系作れ 馬鹿の一つ覚えですか? Cだったらすでにコンパイラがあったりするわけですよ。 お前らは、新しい環境が着たらそのたびに、コンパイラ作ってるのかと小一時間・・・ もう、Lisperとやりあうのは疲れた
386 名前:デフォルトの名無しさん mailto:sage [04/03/25 07:43] 「新しい環境」が来たらそのたびに、 C だって移植作業してるんじゃないかな。 「新しい環境」を作った人達が一緒に開発するかもしれないけど。 「すでに」あるかどうかは、その環境と言語がどれだけ普及してるかって話でしかないと思う。
387 名前:デフォルトの名無しさん mailto:sage [04/03/25 08:58] >>382 > いいから、携帯でLisp動かしてみろ。GBAでもいいよ。 たしか、LispMeという処理系がPalm PilotというPDAで動いていたな。 携帯とかGBAとかでも、開発環境が入手しやすければ、だれかが動かしても おかしくないね。LispといってもCommon Lispのようにライブラリ的な機能が 豊富にそろっている言語から、Schemeみたいに山椒は小粒で…みたいなものまで 色々あるんだよ。 >>385 >Cだったらすでにコンパイラがあったりするわけですよ。 たしかに最初から使えれば便利だね。Cでそのままプログラミングするか、 Lispのようなもう少し抽象化が行われた言語を実装してから作業するか、 そのコストの見積りだろうね。 >お前らは、新しい環境が着たらそのたびに、コンパイラ作ってるのかと小一時間・・・ だれかが作業をやってくれていなければ、自分でやるか、人にやってもらうしかないでしょう。 それは、Cでも変わらないよ。ただCとLispの守備範囲はあまり、かぶらないと思うけど。
388 名前:デフォルトの名無しさん mailto:sage [04/03/25 09:17] 最近は組み込み用途にも、C++やJavaを使う事があるらしいね。ここらへんならLispとかぶるかね。
389 名前:デフォルトの名無しさん mailto:sage [04/03/25 10:21] >>385 ならバックエンドにはすでにある C コンパイラを利用するような 拡張をするという手もあるよ.C のソースを出力すりゃいいわけで 仲良くやってけるじゃん.なんで勝手に対決姿勢になってんの?
390 名前:デフォルトの名無しさん mailto:sage [04/03/29 11:23] 390 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25(木) 23:04 そういやKCLはオブジェクト言語がCだったような。
391 名前:デフォルトの名無しさん mailto:sage [04/03/29 11:25] 391 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25(木) 23:54 ターゲット用の専用言語(GC 無しとかね)を作るのも楽だな.S 式ベースで構文考 える手間が少ないし.C のソース出力でもアセンブラ出力でもバイナリ出力でも気合 いと時間に応じて自由に選べるし.
392 名前:デフォルトの名無しさん mailto:sage [04/03/30 23:28] 392 名前:デフォルトの名無しさん[sage] 投稿日:04/03/26(木) 23:54 あれ?誰もいない・・・
393 名前:デフォルトの名無しさん mailto:sage [04/03/31 13:39] 393 名前:デフォルトの名無しさん[sage] 投稿日:04/03/26(木) 23:59 ジリリリリリリリリーン
394 名前:デフォルトの名無しさん mailto:sage [04/03/31 22:48] 結局Schemeに戻ってきてしまった.
395 名前:デフォルトの名無しさん mailto:sage [04/04/01 05:12] slime のマニュアル。既出じゃなかったような気がするので一応。 ttp://www.bluetail.com/~luke/misc/lisp/slime.pdf
396 名前:デフォルトの名無しさん mailto:sage [04/04/01 05:18] slime のマニュアル。既出じゃなかった気がするので一応。 ttp://www.bluetail.com/~luke/misc/lisp/slime.pdf
397 名前:デフォルトの名無しさん mailto:sage [04/04/02 11:25] slime のマニュアル。既出じゃない気がするので一応。 ttp://www.bluetail.com/~luke/misc/lisp/slime.pdf
398 名前:デフォルトの名無しさん mailto:sage [04/04/03 19:22] slime のマニュアル。既出でない気がするので一応。 ttp://www.bluetail.com/~luke/misc/lisp/slime.pdf
399 名前:デフォルトの名無しさん mailto:sage [04/04/03 21:15] (gc)
400 名前:デフォルトの名無しさん mailto:sage [04/04/04 03:16] 荒らし?
401 名前:デフォルトの名無しさん mailto:sage [04/04/04 13:04] ('A`)
402 名前:デフォルトの名無しさん mailto:sage [04/04/04 22:56] 「警察だ。ドンドンドン。開けろ。荒しの容疑で逮捕する。開けなさい。」 「ふぁ〜(眠)け、けいさつ〜?」 「そうだ。警察だ。早く開けなさい。」 「け、けいさつ〜?ここは、けいさつじゃないよ〜。」 「ふざけるな。私は警察だぞ。いつまで寝たふりしてるんだ。早く開けろ。」 「ふぁ〜(眠)ね、ねた〜?ね、ねたなんて、ふってないよ〜」 「ネタ振りじゃないよ!寝たふりだよ!このやろう!無駄な抵抗は止めろ!」 「ね、ねたふり〜?こ、ここは、ネタスレじゃないよ〜。」 「ここはネタスレじゃないよ!ここをネタスレ化している荒らしはお前だろ!いいから開けろ!」 「あらし〜?」 「そうだ。容疑を認めるならさっさとここを開けなさい!」 「こ、ここは、ゲームセンターじゃないよ〜」 「俺はアラシじゃないよ!!お前が荒らしなんだよ!なんだよっゲームセンターって!!!炎のコマかよ!・・・」 「・・・」 「・・・」 (;´∀`)
403 名前:デフォルトの名無しさん mailto:sage [04/04/04 23:18] (;´∀`) nil
404 名前:デフォルトの名無しさん mailto:sage [04/04/05 23:01] >>403 うれピー!!! (;`∀`) 韮韮韮韮韮韮韮韮韮 韮韮韮韮韮韮韮韮韮 韮韮韮韮韮韮韮韮韮 韮韮韮韮韮韮韮韮韮
405 名前:デフォルトの名無しさん mailto:sage [04/04/05 23:28] 春爛漫
406 名前:デフォルトの名無しさん mailto:sage [04/04/06 00:34] >>405 >>春爛漫 1/2 なんちゃって!
407 名前:デフォルトの名無しさん mailto:sage [04/04/06 12:20] Kahua使ってる人いる? 感想聞かせて
408 名前:デフォルトの名無しさん [04/04/06 13:19] cmucl19a期待age
409 名前:デフォルトの名無しさん mailto:sage [04/04/06 13:28] cmuclの新しいCLOSで以下の式を評価すると何が返りますか? (class-name (class-of (class-of #'make-instance))) ちなみに、cmucl18eだとstandard-class、clisp 2.33だとbuilt-in-class ですが、MOP的には、funcallable-standard-classが正しい気がします。
410 名前:デフォルトの名無しさん mailto:sage [04/04/08 23:09] 初心やスレからやってきました。 LISP初心者です。 ここのスレの皆様方に教えっていただきたいことがあるのですが、 WINDOWS版のCL-HTTPを落としたいのですが、MITのHPのダウンロード できそうなリンクがほとんどエラーになるのですが、CL-HTTPを ダウンロードするにはどうすればいいんでしょうか? よろしくお願いします。
411 名前:デフォルトの名無しさん mailto:sage [04/04/08 23:41] ハァ
412 名前:デフォルトの名無しさん mailto:sage [04/04/09 18:44] 〃〃∩ _, ,_ ⊂⌒( `Д´) < WINDOWS版のCL-HTTPを落としたいよ〜! `ヽ_つ ⊂ノ ジタバタ
413 名前:デフォルトの名無しさん mailto:sage [04/04/09 20:23] >>409 [gcl 2.5.3] Error: The function CLASS-NAME is undefined. [ecl 0.9c] STANDARD-CLASS [sbcl 0.8.6] SB-PCL:FUNCALLABLE-STANDARD-CLASS
414 名前:デフォルトの名無しさん mailto:sage [04/04/10 08:40] やさしいLisp入門 ttp://www.cutt.co.jp/book/4-87783-102-9.html こんなもん出てるようだけど、どうなん?
415 名前:デフォルトの名無しさん mailto:sage [04/04/10 09:06] 4200円! たっか〜。 どうみても入門書でたいして面白そうな例題もないこの内容で、この値段。うーむ。
416 名前:デフォルトの名無しさん mailto:sage [04/04/10 09:10] CLOSどころかマクロのマの字もないな。
417 名前:デフォルトの名無しさん mailto:sage [04/04/10 15:34] ネタじゃないんだよね? 他のやさしいシリーズの倍近い値段は置いておくとして (ページ数も倍の480だし)、 よりによってCommonも何もついてないLISPとは、 いったいどういうことなのか。 読んでみないことには何とも言えないけど、 最終章にコンパイラとローダとリンカがあるということは、 やっぱりCommonLISPなのか。 日本のLISP業界にとって歴史的事件となるのかどうか。
418 名前:デフォルトの名無しさん mailto:sage [04/04/10 17:32] >>409 >(class-name (class-of (class-of #'make-instance))) LispWorksPersonalEditionで試してみると FUNCALLABLE-STANDARD-CLASS だね
419 名前:デフォルトの名無しさん mailto:sage [04/04/10 19:49] The Evolution of Language ttp://homepages.inf.ed.ac.uk/wadler/language.pdf
420 名前:デフォルトの名無しさん mailto:sage [04/04/10 20:37] >>417 > よりによってCommonも何もついてないLISPとは、 > いったいどういうことなのか。 書店で立ち読みしたところ第一章にCommon Lispと明記してあったのだが。 何を見当違いのことで騒いでいるのかね。
421 名前:デフォルトの名無しさん mailto:sage [04/04/10 20:47] >>420 内容はどうだったの?
422 名前:デフォルトの名無しさん mailto:sage [04/04/10 23:52] >>409 手元ではこんなんですが. CMU Common Lisp pre19a 20040410, running on lavie With core: /home/lambda/local/lib/cmucl/lib/lisp.core Dumped on: Sat, 2004-04-10 11:20:09+09:00 on lavie See <www.cons.org/cmucl/> for support information. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/01/09 04:34:17 * (class-name (class-of (class-of #'make-instance))) PCL:FUNCALLABLE-STANDARD-CLASS *
423 名前:409 mailto:sage [04/04/11 16:59] 情報を頂いたみなさん、ありがとうございました。 FUNCALLABLE-STANDARD-CLASSの方が、MOP的に「正しい」とまでは言えないかもしれないけど、 「そのほうが自然」とは言えるかな? clispの開発者の人が1、2年前にMLで、「FUNCALLABLE-STANDARD-CLASSをサポートしないの?」と 尋ねられて、「自分で書いても同じような事を手軽にできるし、ANSI規格でもないから、今のところ 作業予定はないよ」と言っていました。
424 名前:デフォルトの名無しさん mailto:sage [04/04/15 22:32] >>423 ACL がでてないみたいなので一応書いておく。 CL-USER(1): (class-name (class-of (class-of #'make-instance))) ACLMOP:FUNCALLABLE-STANDARD-CLASS ACL 6.2 にて。
425 名前:デフォルトの名無しさん [04/04/17 19:19] scheme age
426 名前:デフォルトの名無しさん mailto:sage [04/04/18 12:35] xyzzyでLispをやり始めたんですが (- 1) はなぜ-1になるのでしょうか? 引数が一つの時は引数に-を付けて返す、というのが関数として定義されてるから という理解でいいのでしょうか?
427 名前:デフォルトの名無しさん mailto:sage [04/04/18 12:40] >引数が一つの時は引数に-を付けて返す、というのが関数として定義されてるから >という理解でいいのでしょうか? いいです。 Function `-' www.lispworks.com/reference/HyperSpec/Body/f__.htm > If only one number is supplied, the negation of that number is returned.
428 名前:デフォルトの名無しさん mailto:sage [04/04/18 12:54] >>427 関数定義されてるから、という理解でよかったみたいですね。 どうもでした。
429 名前:デフォルトの名無しさん mailto:sage [04/04/18 13:01] (*) は1 (+) は0
430 名前:デフォルトの名無しさん mailto:sage [04/04/18 13:10] >>428 -を付けて返すと、the negation of that number is returned は全然違うぞ
431 名前:デフォルトの名無しさん mailto:sage [04/04/18 13:13] 428さんじゃないけど、具体的に結果が違ってくる例みたいなものを教えていただけますか?
432 名前:428 mailto:sage [04/04/18 13:21] >>430 その数の否定を返す→正負反転して返す、という理解ではどうしてダメなんでしょうか?
433 名前:デフォルトの名無しさん mailto:sage [04/04/18 17:29] negateは正負反転の意味で普通に使われてるし、 the negation of taht number は正負反転した数のこと。 negative numberというぐらいだから、負は正の「反対」だと 自然に思っているのだろうね。
434 名前:デフォルトの名無しさん mailto:sage [04/04/18 19:07] >>432 「-を付けて返す」と「正負反転して返す」は全然違うぞ
435 名前:デフォルトの名無しさん mailto:sage [04/04/18 19:40] だから馬鹿みたいに違う違うって言わずに431が言ってるみたいに例をもってくるとか 何が、どう違うかいいなよ。
436 名前:デフォルトの名無しさん mailto:sage [04/04/19 00:26] つまり430=434がこれから始めたい事とは、 「-を付けて返す」という言い回しに対しての、 無益な重箱の隅を突く日本語講釈ですか? (最近、関数型関連スレはこの手の変な人が増えて悲しいですね。) ところで、 (- -1) この式は何が返ると思いますか?
437 名前:デフォルトの名無しさん mailto:sage [04/04/19 07:02] -を90度回転させてから前につけて +1
438 名前:デフォルトの名無しさん mailto:sage [04/04/19 08:20] 予想1:絶対値の符号反転したもの。 (- -1) => -1 予想2:文字通り (- -1) => "--1"
439 名前:デフォルトの名無しさん mailto:sage [04/04/19 08:43] >(- -1) >この式は何が返ると思いますか? >予想2:文字通り (- -1) => "--1" 字面レベルでの議論だとは気がつきませんでした。 複素数の場合かなとも想像していました。
440 名前:デフォルトの名無しさん mailto:sage [04/04/19 11:43] (- -1) => (^_^) ('A`) => (-_-) (゚д゚) => (゚∀゚) (* ゚▽゚) => ゚▽゚
441 名前:デフォルトの名無しさん mailto:sage [04/04/19 21:25] バッククォートって、list や cons で書いたのと等価じゃないんですか? なんだか処理系によって値が違うんですが。 (defun bq (x) `(,x nil)) (defun ls (x) (list x nil)) (let ((l nil) (m nil)) (push (bq 1) l) (push (bq 2) l) (push (bq 3) l) (rplaca (cdar l) t) (print l) (push (ls 1) m) (push (ls 2) m) (push (ls 3) m) (rplaca (cdar m) t) (print m)) を評価すると、clisp では ((3 T) (2 NIL) (1 NIL)) ((3 T) (2 NIL) (1 NIL)) となるんですが、CMUCLでは ((3 T) (2 T) (1 T)) ((3 T) (2 NIL) (1 NIL)) と異なる結果になるんです。言語仕様上どっちが正しいんでしょうか?
442 名前:デフォルトの名無しさん mailto:sage [04/04/20 03:50] >>441 このへんかな Once again, it is emphasized that an implementation is free to interpret a backquoted form as any form that, when evaluated, will produce a result that is equal to the result implied by the above definition. In particular, no guarantees are made as to whether the constructed copy of the template will or will not share list structure with the template itself. cltl2 22.1.3. Macro Characters
443 名前:デフォルトの名無しさん mailto:sage [04/04/20 08:05] Common Lisp Hyperspec 2.4.6 Backquote www.lispworks.com/reference/HyperSpec/Body/02_df.htm によると、`(,x nil) = (append (list x) (list 'nil)) = (list x nil) となり、さらに、side-effectについて、 >An implementation is free to interpret a backquoted form F1 as any form F2 that, >when evaluated, will produce a result that is the same under equal as the result >implied by the above definition, provided that the side-effect behavior of >the substitute form F2 is also consistent with the description given above. になるから、cmuclは間違いの気がする。 ... share list structure ... のくだりは、backquoted formからreaderが作るform自体が templateと相似構造なformである必要はないと言っているのであって、template自体を構成する consを共有して使いまわしていいと言っているわけではないと思う。
444 名前:デフォルトの名無しさん mailto:sage [04/04/20 10:33] バッククォートの解釈は、結果が(equalの意味で)等しければ実装は自由。 `(,x nil) は次の何れにも解釈できる。 (append (list x) (list 'nil) 'nil) (append (list x) (list 'nil)) (append (list x) '(nil)) (cons x '(nil)) (cons x (list 'nil)) ... etc したがって、規格ではどちらも正しい。 side-effectはこの場合関係ない。
445 名前:443 mailto:sage [04/04/20 11:32] >>444 了解。規格の例をもっと読むべきでした。 最初は、俺もquoteの一種だから変更するべきじゃないと、 正しく解釈していたんですが規格を誤読して解釈を変えてしまいました。 書き直さなきゃならないコードがあるな。ありがとう。 この場合、cmuclは以下のような事をやって、consしないようにしていると いうわけね。 (let ((list (list nil nil))) (defun bq (x) (setf (car list) x) list))
446 名前:デフォルトの名無しさん mailto:sage [04/04/20 12:24] >この場合、cmuclは以下のような事をやって、consしないようにしていると >いうわけね。 例が間違っていました。忘れてください。
447 名前:441 mailto:sage [04/04/20 12:56] トップレベルのリストも全て cons とは限らないというわけですね。 (defun bq1 (x) `(,x 1 2)) (defun bq2 (x) `(,x 1 2 ,x)) (let ((l nil) (m nil)) (push (bq1 0) l) (push (bq1 0) l) (rplaca (cdar l) 3) (print l) (push (bq2 0) m) (push (bq2 0) m) (rplaca (cdar m) 3) (print m)) を CMUCL で評価したら ((0 3 2) (0 3 2)) ((0 3 2 0) (0 1 2 0)) となりました。リストの末尾に定数リストが来ていると使い回されるようです。
448 名前:デフォルトの名無しさん mailto:sage [04/04/20 14:03] >リストの末尾に定数リストが来ていると使い回されるようです。 そうみたいですね。それで、その分、consする回数が減ってリソースの節約になり、 それは規格で許された動作であると。
449 名前:デフォルトの名無しさん mailto:sage [04/04/20 14:09] 一応貼っておく。Emacs Common Lisp。 www.lisp.se/emacs-cl/
450 名前:デフォルトの名無しさん mailto:sage [04/04/22 14:04] 外国でxyzzyのこと知っている人は、どれくらいいるのだろう?
451 名前:デフォルトの名無しさん mailto:sage [04/04/22 15:34] とりあえずぐぐってみてはどうか。
452 名前:デフォルトの名無しさん mailto:sage [04/04/22 18:08] Windows マインスウィーパーの隠しコマンドが xyzzy なんだけどなんか関連ってあんの?
453 名前:デフォルトの名無しさん mailto:sage [04/04/22 19:14] とりあえずぐぐってみてはどうか。
454 名前:デフォルトの名無しさん mailto:sage [04/04/23 07:34] foo bar
455 名前:デフォルトの名無しさん mailto:sage [04/04/23 07:41] >>452 魔法の呪文として「xyzzy」を使うことがあるみたい。出典知っている人いる? >>451 >とりあえずぐぐってみてはどうか。 googleで調べてみたけど、結果を絞りきれなかった。Emacs系エディタリストには記載が あったけど、情報は名前だけ。Common Lispのサブセットを搭載しているという情報はなし。
456 名前:デフォルトの名無しさん mailto:sage [04/04/23 16:55] ADVENT(初期のコンピュータゲーム)の魔法が出典。 Jargon Fileの ttp://www.catb.org/~esr/jargon/html/X/xyzzy.html を参照。
457 名前:デフォルトの名無しさん mailto:sage [04/04/26 16:31] すんません、cmucl19のソースを入手するにはどうしたらいいんですか? cmucl web siteの指示どおりanonymous cvsで入手しようとすると、 /home/anoncvs/CVS-cmucl: no such repository と言われて失敗します。
458 名前:デフォルトの名無しさん mailto:sage [04/04/27 01:05] >>457 hxxp://common-lisp.net
459 名前:デフォルトの名無しさん mailto:sage [04/04/27 11:08] >>458 ありがとう、入手できました。 linuxのfirefoxでcommon-lisp.netを表示すると、トップページの横一列になった項目に 打ち消し線がかかっているように見えるので、ずっと、改装中なのかと思っていたよ。 たぶん、単なる下線の表示がおかしくなっているのね。
460 名前:デフォルトの名無しさん mailto:sage [04/04/27 13:41] stklosとstkはwindows98でも使えますか?
461 名前:デフォルトの名無しさん mailto:sage [04/04/27 16:36] >>460 STk は動くはず。stklos は Windows はダメなはず。
462 名前:マグデジニウム偏角線 mailto:質問age [04/04/28 18:22] schemeの継続についての質問です。 処理系はgaucheを使っています。 (begin (call/cc (lambda (x) (set! cont1 x)))(display "山崎13\n")) でcont1に代入される継続と、 (call/cc (lambda (x) (set! cont2 x)))(display "山崎13\n") でcont2に代入される継続が違うのは何故ですか? cont2には、 「(display "山崎13\n")を評価する」 と云う継続が代入されるのではないかと思ったのですが、なぜそうではないのでしょうか?
463 名前:デフォルトの名無しさん mailto:sage [04/04/28 18:38] トップレベルまでだから。
464 名前:462 mailto:sage [04/04/28 19:40] >>463 そういう解釈で良いのですね、 ありがとうございました。
465 名前:デフォルトの名無しさん mailto:sage [04/05/02 20:44] www.asahi-net.or.jp/~ia7k-ismr/lisp_contents/ansi_commonlisp_a2.txt 暇に飽かせてANSI CommonLispの解答っぽいものを作ってみました。 誤り、勘違いなどあったら教えて頂けるとありがたいです。
466 名前:デフォルトの名無しさん mailto:sage [04/05/03 09:34] >>465 あんたは、えらいっ!
467 名前:デフォルトの名無しさん mailto:sage [04/05/03 09:37] atom: a list: (a b c) tree: (a (b) ((c)))) graph: #1=(a #2=(b . #1#) . #2#) graphのもっとよい表記法を希望します。
468 名前:デフォルトの名無しさん mailto:sage [04/05/03 18:59] ttp://www.geocities.co.jp/SiliconValley-Cupertino/6957/bibliography.ja.html Scheamて。 それにDrShcemaとはなんや? >私が読んで良かったなー、と思っている本を紹介します。 ほんとに読んだのか? ・・・まあそれはともかく、 紙媒体の参考資料集としては使えるかも。
469 名前:デフォルトの名無しさん mailto:sage [04/05/03 19:31] >C++を使うために絶対読まなければならない本 11冊は多すぎ。一冊読めば使えるだろ。しかもC++を使う⇒=Windowsユーザと勘違いしてるし、 他の項目も同様。
470 名前:デフォルトの名無しさん mailto:sage [04/05/03 20:37] 誰?
471 名前:デフォルトの名無しさん mailto:sage [04/05/03 21:17] 俺だよ俺!
472 名前:デフォルトの名無しさん [04/05/04 14:40] schemeで循環参照を印字する方法って規定されてるのでしょうか。 (define x (cons 'x 'x)) (set-car! x x) (set-cdr! x x) x ==> ???
473 名前:デフォルトの名無しさん mailto:sage [04/05/04 17:29] srfi-38のwrite/ss (write-with-shared-strcture) srfi.schemers.org/srfi-38/srfi-38.html x => #0=(#0# . #0#)
474 名前:デフォルトの名無しさん [04/05/05 20:50] schemeの局所関数について質問です. (define (f x) (define (g x) (* x x)) (g (* x x))) とした場合gはfの定義時に定義されるのでしょうか, それとも実行時でしょうか. もし実行時だとすると次の式と等価なのでしょうか. (define (f x) (let ((g (lambda (x) (* x x)))) (g (* x x))))
475 名前:デフォルトの名無しさん mailto:sage [04/05/05 22:58] letではなくletrecだろ? (define (f x) (letrec ((g (lambda (x) (* x x)))) (g (* x x))))
476 名前:デフォルトの名無しさん mailto:sage [04/05/05 23:39] >>475 let でいい
477 名前:デフォルトの名無しさん mailto:sage [04/05/06 00:24] >>476 この場合は、だろ
478 名前:デフォルトの名無しさん mailto:sage [04/05/06 00:48] >475 に賛成. ; (define (f x) ; (let ((g (lambda (x) (* x x)))) ; (g (* x x)))) は (define f (lambda (x) ((lambda (g) (g (* x x))) (lambda (x) (* x x))))) と等価だからこのgは定義されてるとはいえない. 例えば, (define (f x) (define (g x) (if (= x 0) 0 (+ x (g (- x 1))))) (g (* x x))) か (define (f x) (let ((g (lambda (x) (if (= x 0) 0 (+ x (g (- x 1))))))) (g (* x x)))) かのどちらをとるかで (let ((g (lambda (x) x))) (f 3)) を評価した結果が違う.