1 名前:デフォルトの名無しさん [2005/05/12(木) 21:44:01 ] 過去スレ Part1: piza2.2ch.net/tech/kako/987/987169286.html Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/ Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/ Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/ Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/ 関連リンクは>>2-10 あたり
21 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 20:09:25 ] 再利用できないゴミばっかだったらGCなんて無意味
22 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 22:25:15 ] Prolog → … → Progol / μPlannner→Planner → Conniver→ Scheme → Common Lisp → ISO Lisp \ / ▲このスレ Plasma → → → → ABCL → ... Simula67→ Smalltalk70 → … → Smalltalk80 → … → Java , C# (w 目的指向プログラミング 論理プログラミング 帰納論理プログラミング 積み木の世界 Actor理論 並列オブジェクト 分散オブジェクト マルチエージェント セマンティックWeb
23 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 02:45:27 ] >>22 は何?
24 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 02:55:24 ] gcされなくなるので参照しないこと
25 名前:デフォルトの名無しさん [2005/05/15(日) 03:52:27 ] 2ちゃんで異様に伸びてるスレって、 大抵ネイティブ住人はとうの昔に消えて、 荒しが初期のスレの拡大再生産してるだけだって噂、本当なんだな。 ここまで荒廃してるとは知らなかった。もうこねぇよ。じゃぁな
26 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 03:55:18 ] >>25 は何?
27 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 04:07:19 ] >>22 = >>25
28 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 04:14:59 ] よくわかりませんが、ここに (gc) 置いときますね
29 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 10:32:03 ] >>22 いろいろ消し過ぎ....gcのバグか?
30 名前:デフォルトの名無しさん [2005/05/15(日) 11:57:14 ] 以下の処理が実行できない理由を教えて下さい。 (define a 33) (letrec ((c a)(a 10)) c)
31 名前:30 mailto:sage [2005/05/15(日) 12:22:26 ] すみません。自己解決しました。 letrecで、cとaの未初期化領域が生成され、cには未初期化のaの値がはいる。 そのため、gaucheだと#undefがでてくる。 letrecの本質は、ローカル変数定義時にエラーを出さずに本体を実行するという部分にあるのですね。
32 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 12:29:16 ] >>31 それは違う
33 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 15:51:50 ] recはrecurs-のrec
34 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 09:37:17 ] >>31 >letrecの本質は、ローカル変数定義時にエラーを出さずに本体を実行するという部分にあるのですね。 これは違うと思う。30の例はシンタックスエラーになるべきだと思うんだが。 > gaucheだと#undefがでてくる ということは、もしかしてgaucheだと (define a 33) (letrec ((c a) (a 10)) (set! c a) c) --> 10 になるのかな? そうなるとしたら、ちょっと不味いと思うんだが....どう?
35 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 09:41:09 ] >>34 それで10になるのは全然問題なさそうに思うんだけど、どうまずいの?
36 名前:34 mailto:sage [2005/05/16(月) 09:52:10 ] >>35 gaucheの#undefがどういう意味で出力されているのか知らないから聞いたんだけど、もしこれがletrec全体の評価結果として出力しているとしたら、これはシンタックスエラーを無視して実行していると思えたからなんだ。 これは、cにaを束縛しようとした時点で未定義変数への参照によるエラーが発生するべきだと思うからなんだけど.... これは正しいプログラムなら実行結果は同じになるからいいんだけど、schemeの勉強に使うにはちょっと不味いんじゃないかと思ったんだ。 実際、30は勘違いしたみたいだし。
37 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 10:43:01 ] 補足: R5RS 4.2.2 より (letrec
38 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 10:46:37 ] 補足: R5RS 4.2.2 より (letrec
39 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 12:11:05 ] >>36 エラーを出さなくてもR5RS違反ではないけどね。学習用として不親切ではあるな。
40 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 12:20:51 ] 局所変数定義 letrec使ってエラーだエラーじゃないって? 頭が可笑しい人のレスか
41 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 12:32:23 ] letrec ではすべての局所変数が定義されてから初期化されますが、 初期化中に局所変数をアクセスするとエラーになってしまいますので注意。 すべての初期化が終わってからでないとアクセス出来ません。 letrec は、再帰関数を定義するのに使います。 (letrec ((fact (lambda (x) (if (> x 0) (* (fact (- x 1))) 1)))) (fact 10))
42 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 13:15:00 ] 学習用の DrScheme でもエラーにならないね。 (letrec ((x a) (a 1)) ...) を (let ((x 未定義) (a 未定義)) (set! x a) (set! a 1) ...) のように展開 する実装では、チェックが難しいのかな。
43 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 13:36:54 ] エラーになる処理系ある?
44 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 16:07:24 ] SCM はエラー出すみたい。
45 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 21:36:19 ] >>9 >継続の使用法 >ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html これの学生さん卒業したのかな 2005 年 4 月以降どうなるか不明と書いてある Bill Clementson's Blog も移動するみたいだね ttp://home.comcast.net/~bc19191/blog/index.html
46 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 22:00:06 ] ああ。学生の頃の自分思い出して、やり切れない気持ちになった。 特にLispって研究テーマにはなりにくいよなぁ。 最近は、ソフトウェア実装屋を対象とした学部/研究科が増えてるらしいけど。 俺の友人で、どうしても哲学をやりたくて、社会人入学した香具師がいる。 まだ数年前、塾だか予備校で飯代稼ぎながら、いろいろ模索してた。 そこまで真剣に学問の道を考えるなら、きっと誰か拾ってくれるでしょ。と祈りたい(w
47 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 02:55:59 ] どっかで見た話題だなあと思ったら、似たのが sicp の練習問題にあるね。 letlec じゃなくて internal define だけど。 mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html#%_thm_4.19 確か r6rs では internal define と関連して letlec* が追加されるとかいう話だけど、 未束縛の変数に左から順に set! していく、て実装だったら そっちの方がやってる事に即している感じはするな。
48 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 13:10:19 ] r6rsって出るのかなぁ
49 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 13:17:03 ] 今議論してるんだから、出るだろ。そのうち。
50 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 22:52:50 ] R6RSに含まれる機能は何でしょう? おれが欲しいと思ってるのは ・名前空間 (せめてパッケージ)はぜひとも導入して欲しい。 いつまでも大域letで囲むなんて馬鹿げてる。 ・多値のファーストクラス化 インタプリタの延長みたいな実装がほとんどの現状で 多値を効率よく扱える手段がないとまともに使いたくない。 (let ((v (values 1 2 3))) (if (values? v) (value-ref v 2) ;; => 3 (error "excepted values")) とか。 せめて上のvalues?のように関数の返す値が多値かどうか 呼び出し側で判らないと使い物にならないだろう。 ・関数呼び出し側の名前つき引数。 VBのアレは便利だろ? あと ・キーワード、定義済マクロ名の参照はエラーにする くだらん論争の種を潰す。 とか。
51 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:18:59 ] www.schemers.org/Documents/Standards/Charter/
52 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:39:22 ] >>51 >remove multiple values 正気かよ。 って、まだ決まってないのか。 消すんじゃなくて発展させる方向に行かないかね。 副作用記述減らせる手段の1つなのに。
53 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:49:43 ] >>50 > ・名前空間 > ・関数呼び出し側の名前つき引数。 Common Lisp で幸せ
54 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:51:41 ] いや、CommonLispに転向するぐらいならLISP辞めたほうがマシ
55 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:52:37 ] 以降、CL厨が暴れます。。。
56 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:58:10 ] R6RS より CLtL3 をやってほしい
57 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 00:03:09 ] >>54 >副作用記述減らせる手段の1つなのに。 詳しく。
58 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 00:19:04 ] リスト内包表現が簡単に書けた。拡張可能だしhaskellより便利になり得る。 (define-syntax %inner-tuple (syntax-rules (<-) ((_ (<- ret) form var val rest ...) (%inner-tuple ret (set! ret (cons form ret)) var val rest ...)) ((_ ret form () ()) (let ((ret '())) form (reverse! ret))) ((_ ret form (pred rest-var ...) (<- rest-val ...)) (%inner-tuple ret (if pred form) (rest-var ...) (rest-val ...))) ((_ ret form (var rest-var ...) (val rest-val ...)) (%inner-tuple ret (let lp ((lis val)) (if (null? lis) '() (let ((var (car lis))) lis form (lp (cdr lis))))) (rest-var ...) (rest-val ...))) ((_ ret form (var ...) (val ...) (var1 <- val1) rest ...) (%inner-tuple ret form (var1 var ...) (val1 val ...) rest ...)) ((_ ret form (var ...) (val ...) pred rest ...) (%inner-tuple ret form (pred var ...) (<- val ...) rest ...)) )) (define-syntax tuple (syntax-rules () ((_ form args ...) (%inner-tuple (<- ret) form () () args ...)))) (tuple (cons i j) (i <- (iota 10)) (j <- (iota 10)))
59 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 03:22:06 ] クロージャ用シンタックスシュガー?
60 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 05:09:08 ] 多値なんて (関数引数と戻り値の対称性に関する神学的な論争を除けば) パフォーマンスハックにすぎないんだから、ファーストクラス化しちゃったら 唯一のメリットが失われるじゃん。 >>50 みたいに扱いたいならリスト返すか、(receive v (values 1 2 3) ...) で受ければいいだけだしさ。
61 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 23:48:39 ] 神学的な論争こそがschemeの本質なのに!
62 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:00:16 ] 否定はすまい
63 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:14:04 ] ……………… き り と り せ ん ………………
64 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 01:34:32 ] 合理性 → HASKELL 神学的論争 → SCHEME 実用性 → その他
65 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 02:10:31 ] 実用性 → Common Lisp に決まってる
66 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 03:57:47 ] ……………… き り と り せ ん ………………
67 名前:デフォルトの名無しさん [2005/05/20(金) 22:23:21 ] 久々にSchemeインタプリタ作った やっぱええわ
68 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 23:25:37 ] 久々にCommon Lispコンパイラ作った やっぱ疲れるわ <湯浅>
69 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 23:31:35 ] 「ええ、PM経験した僕も、一昨年は近山PMの下でスーパークリエータとしてデビューしました。 はぎゃー君も誘ったんだけど、彼は真面目だから付き合ってくれませんでした。 成果物は国際学会の発表ネタに使いまわしたんですけど、 サスマン教授は『素晴らしい。是非このロボを譲ってくれないか』って激賞されちゃいましたよ」 だいたいマジ
70 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:09:28 ] おとなげない
71 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:17:04 ] いみふめ。 こだわらずに楽しい事をやろうとする精神、 そして応募して採択されたもん勝ちだよんとアピールする姿に、 なんか楽しくなっちゃったけどなw
72 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:23:16 ] 重要なのは、言語でなくライブラリだよ
73 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:28:59 ] >>72 だよねー
74 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 00:42:32 ] また頭悪そうなのが粘着しはじめたな
75 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:46:28 ] 言語仕様(意味論込)として、scheme 以上にすっきりした言語 ってなにがありんすか?
76 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:48:10 ] ○ransk?
77 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 02:03:40 ] アセンブリ
78 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 02:05:48 ] 万能チューリング機械
79 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 02:10:23 ] brainf*ck
80 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 02:25:38 ] >>50 >・名前空間 >(せめてパッケージ)はぜひとも導入して欲しい。 >いつまでも大域letで囲むなんて馬鹿げてる。 遅レスすまそ。let使ってパッケージもどきを作る方法があるの? Schemeだとlet内でdefineしてもグローバルに反映されないから無理だと 思ってたんだけど(Common Lispならできる)。 モジュールじゃおおげさな時に使いたいので教えて。
81 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 07:56:06 ] 横スレだが、わたしゃこうしてる。 (define export:foo #f) (let () (define foo ...) ... (set! export:foo foo)) (define foo export:foo)
82 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 09:15:39 ] それならグローバルなハッシュテーブルに詰め込んでおく方が。 パッケージとは別に、CommonLisp風のset!(ローカルでunboundなら グローバルにbindする)ができたら便利だとは思うが、Schemeじゃ多分無理。
83 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 09:29:09 ] 俺はこうかな (define foo #f) (define bar #f) (let () (define hoge ...) (set! foo (lambda (...)...)) (set! bar (lambda (...)...)) ) でも、最適化が効きにくくて>>81 より遅くなりそうだな...(考え中) >それならグローバルなハッシュテーブルに詰め込んでおく方が。 それってどんなやりかた?
84 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 11:15:02 ] えぇー、scm.libとかでやってる方法がデフォルトだと思ってた
85 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 11:20:08 ] (make-hash-table xxx-package) (let (pi 3.141692) (define hoge ...) (hash-table-put! xxx-package 'foo (lambda (...) ...)) (hash-table-put! xxx-package 'bar (lambda (...) ...)) ) (define foo (hash-table-get xxx-package 'foo)) (define bar (hash-table-get xxx-package 'bar)) >>83 こんな感じ。実際こうやって使ったことないからちゃんと動くかわからないけど。 >>84 それはパッケージ管理?CommonLisp風のset!の提供の方?
86 名前:84 mailto:sage [2005/05/21(土) 11:40:44 ] >>85 パケージ管理の話してるんだろ、ここ?
87 名前:84 mailto:sage [2005/05/21(土) 11:57:22 ] slibの話のつもりだったんだけど・・・あれ?パッケージ管理してねぇや。。。スレ汚しすまそ
88 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 11:58:31 ] slibの話のつもりだったんだけど・・・あれ?パッケージ管理してるけど名前空間は分けてないや。。。スレ汚し^2すまそ
89 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 12:11:23 ] つまらんことで悩んでないで Common Lisp 使え
90 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 12:14:26 ] うぜ
91 名前:83 mailto:sage [2005/05/21(土) 15:17:48 ] >>85 なるほどそういう使い方があったのか THX! すると例えば (define-syntax define-package (syntax-rules (export) ((_ pkgname (export id ...) body ...) (begin (define pkgname (make-hash-table)) (let () body ... (hash-table-put! pkgname 'id id) ...) (define id (hash-table-get pkgname 'id)) ...)))) とやって (define-package foo-package (export foo bar) (define hoge 9) (define foo (lambda (x) (- x hoge))) (define bar (lambda (y) (+ y hoge)))) とすれば hoge => #unbound (foo 10) => 1 (bar 10) => 19 となるわけか。 実装に依存したくない時はいいかも!
92 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 16:11:17 ] hash-table自体が実装に依存する罠 まあ後付で作れるけどさ
93 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 03:54:25 ] すごく遅くてもいいならalist使えばいい。
94 名前:ミミ [2005/05/22(日) 19:28:26 ] Scheme でクラスを定義する場合、 メンバ変数の命名規則はどうしていますか? Java や C++ だと m_var とか _var とか var_ とかで 命名すると思いますが、Scheme でアンダースコアは あまり使われませんよね。
95 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:43:35 ] >>94 そうでもない。アンダースコアも普通に使うよ。
96 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:55:17 ] 入力したlistを整数倍してlistで返すにはどうすればいいんですか?(list 3 4) → (list 6 8) みたいな感じです。 consでかえるようにならできたんですが。
97 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:56:18 ] map
98 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:58:57 ] >>96 (map (lambda (elt) (* elt 2)) (list 3 4)) --> (6 8) ってことかな?
99 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 22:59:39 ] ((cut map * 2 <>) '(3 4)) => (6 8) cut :: SRFI 26: Notation for Specializing Parameters without Currying
100 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:02:09 ] (map (lambda (n) (* n 2)) (list 3 4)) LISPなど全く知らない俺が適当に書いてみました
101 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:16:22 ] (define-syntax m-list (syntax-rules () ((_) ()) ((_ dat ...) (list (* dat 2) ...)))) (m-list 3 4) --> (6 8)
102 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:23:36 ] (define-syntax rewrite-list (syntax-rules (list) ((_ n (list dat ...)) (list 'list (* dat n) ...)))) (rewrite-list 2 (list 3 4)) --> (list 6 8)
103 名前:ミミ [2005/05/22(日) 23:28:13 ] >>95 クラスのメンバ変数をアンダースコアで命名していますか?
104 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:36:35 ] クラスのメンバ変数など存在しない
105 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:46:45 ] ハイフォンが使えるのにアンダースコア使う理由って何? と、LISPなど全く知らない俺が適当に聞いてみる
106 名前:ミミ [2005/05/22(日) 23:50:28 ] >>104 どういうこと?
107 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 00:03:56 ] >>105 単に単語の区切りの意味でハイフンは使うから区別したいんじゃね?
108 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 00:08:48 ] >>107 わかるようなわからんような、実例プリーズ
109 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 03:27:32 ] すみません。scheme というか lisp 初めたばかりなのですが、 list と cons の意味がわかりません。 (cons 1 2) と (list 1 2) はどう違うんでしょうか。 両方とも car と cdr の結果は同じですよね?
110 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 03:36:08 ] >>109 car は同じだけど、 cdr は違うよ。 (car (cons 1 2)) 1 (cdr (cons 1 2)) 2 (car (list 1 2)) 1 (cdr (list 1 2)) (2)
111 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 04:07:51 ] はい。 (cdr (list 1 2)) が (2) になるのはどういった理由かわからないのです…
112 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 04:18:46 ] あぁ、pair と list の項目を読んでみたら、なんとなくわかった気がします。 スレよごし、スミマセン。
113 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 08:34:12 ] >>112 cons は「core」で、list は「library」みたいな区別をしてみるのもいいかも. 「library」は「core」から導くことができるんだね. 例えば list は (lambda x x) と等価とかね ( もちろん lambda は「core」). 後になって、define-syntax とかでマクロを組むときに、きっと役に立つよ. 雑談スマソ
114 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 09:25:14 ] わざわざオレ用語で説明せんでも。
115 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 11:07:33 ] >>113 lambda は「library」でいいじゃん (define-syntax λ (syntax-rules () ((_ formals body1 body2 ...) (let-syntax ((dummy (syntax-rules () ((dummy) #f)))) (define (proc . formals) body1 body2 ...) proc))))
116 名前:3歳児 mailto:sage [2005/05/23(月) 11:13:33 ] たんなることばのもんだいだと思いまちた
117 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 17:04:35 ] >>111 (cadr (list 1 2))が2になる、って言ったら解る? (car (cdr (list 1 2)))と同じ。 あと、(list 1 2)は(cons 1 (list 2))と同じ 図で描くと解りやすいけど、図入りの本は持ってないの?
118 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 17:11:34 ] 最もプリミティブなのは点対だからね。 (a b c) ってのは (a . (b . (c . ()))) の略だということを思い出そう。
119 名前:3歳児 mailto:sage [2005/05/23(月) 17:15:23 ] このすれのれべる、がくっとさがりまちたねぇ
120 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 17:28:09 ] >>114 R5RS読めば?
121 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 18:09:23 ] R5RSの「primitive」のことを「core」なんて命名してるからオレ言語と 揶揄されてるんじゃないの?