2488. Re. 2487 Re. 2486 Re. 2482 Re. 248...
亀田馬志 (Nov 22, 2009)
>>LOLOLさん
>あの、box-and-pointer notationという奴は、分かる人間には分かりやすく分からない人間には分からないで
しょうね。
>その点、ああいったポインターイメージよりも、リストの操作ロジックだけを理解した方がいいのではないか
と私も思います。
実際そうなんですよ。僕の経験でも。
Lisp「だけ」で済ませたかったんですが、結局「Cの知識をアテにしてる」言語構造の部分があって、まあ、そ
れは良いんですが、解説もどーしても「Cの知識をアテにしてる」場合があって。
結局ある程度脱線してCの勉強しなきゃならなかったんですよね。まあ、別にCを「使いこなす」必要は無いんで
気楽なモンですが、そう言う「必然的な脱線」を要求する説明にならざるを得ない場合が散見されますね。
結果、思い直して見ると、その手の前提知識を必要としない本は、それこそ、サイエンス社の「これがLispだ!
」と話題に上がっていた「Schemeによる記号処理入門」しか無かった、とは思います。テーマが(当時の感想では)
「凄くアブストラクトだった」ってのが困りモンではあったんですけどね(笑)。
本当に必要なのは、例えば
Scheme 13歳からはじめる Scheme ゲームプログラミング教室
みたいな本だと痛感しますよ。中学生くらいから「まずはSchemeでプログラミングをはじめよう」的な土壌が形
成されれば、もっとマトモな本やら環境やらになっていくんだと思いますけどね。
JavaやC++からはじめさせよう、って輩が多いようで(笑)。
>あの本では(cons 1 2)は禁止とかしているのです。つまり、consはリストを操作するためのものだから(cons 1
(2 3))のようにリストに付加するのはリストがかえるからOKだけど、dot対がかえる前者はNGとしているんです
よ。
ああ、なるほど。
確かに用語でもドット対リストはproper listじゃない、ですからね。ふ??む。
そう言えば、僕も最初はドット対って「気持ち悪い」とか感じてたの思い出しました(笑)。
そうですねえ。でも、連想リストを使わない前提だと確かにそれでも良いのかも、とはちょっと思いますね。
少なくとも、Schemeには連想リストを自在に操れる手続きとかもそんなに無いんで。プラグマティックにはしょ
ーがない妥協点なのかなあ。
>これがLittle Schemerの侮れないところで、Y-combinatorの詳しい説明にまで一挙に進むんですよ。
ああ、そうか。森さんも不動点定理がどーの、って昔言ってましたね。
そうですか。それは良い本かもしれません(笑)。
じゃあ、章を逆順に読んで行っては如何でしょうか(笑)。
- 元ねた:
- 2487 Re. 2486 Re. 2482 Re. 2480 Re. 247...