1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:14:56 ] 過去スレ Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/ Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
75 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:24:58 ] ポールグレアム日本語達者だなぁ
76 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:29:04 ] arcのソースが公開されるって?
77 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:31:27 ] いや、多分Lispで翻訳してるんだよ。 Emacsで2ch開くとAA以外は英語に翻訳され、 レスは自動で日本語になって書き込まれる。 ポールグレアムほどのスパーハカーなら1秒以内にそのくらいは考えつくはず。
78 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:43:39 ] >>47 アラバマ物語もじってたのか。原題知らなかったw 「ものまね鳥を殺すには」が直訳かな。 ものまね鳥って「危害を加えない人」をたとえてるから、スマリヤンのタイトルでは「副作用のない演算」ぐらいの意味だろうか? てことは「副作用のない演算に似たものを作るには」ぐらいの意味のタイトルみたいだ。「ものまね鳥をまねる」じゃ意味が伝わらないよなぁ。 役者も意味が取れていなかったのがいまさらながらわかった希ガス。
79 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:47:24 ] >>73 具体的にどういうコード?
80 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:50:30 ] 「副作用のない演算に似たものを作るには」の『副作用のない演算に似たもの』=『コレスゲーってプログラム』と読み替えると、 スマリヤンの本が>>60 への答えになってるなw 「ものまね鳥をまねる」 = 「コレスゲーってプログラムを作るには」
81 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:03:21 ] こういう会話でまとめておこうw スマリヤン:「コレスゲーってプログラムを作るには?」 グレアム :「Yコンビネータ・On・Lisp」
82 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:07:55 ] arcの言語仕様って公開されたの?
83 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:13:35 ] >>81 "On Lisp"の内容、マクロが中心だたから、「コンビネータ使って副作用のないマクロを書け。そうすれば『コレスゲープログラム』が作れるぞ!」って意味なのねん?
84 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:17:28 ] >>80 どうだろう。彼が要求しているのは 「今まで解けると思われていなかった問題を解けるような"アプリケーション"」 だからなぁ。 それってつまり、チューリング等価を越えろっていう要求ではないかと思うんだ。 彼は言語のパワーというものが、あるものを「どう」実現できるかという"how"の領分の話だということが まるで理解できていないんでは? 「Lispが凄いのなら、Lispで書いたプログラムにしか為し得ない動作があるのだろう」 という発想でモノを言ってるように窺える。てかそもそも「アプリケーション」って言い方が猛烈に素人臭いしw
85 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:21:43 ] >>79 ;(define (stream-cdr stream) ; (srfi-45:lazy (cdr (srfi-45:force stream)))) これはプロミスを受け取ってプロミスを返す関数だからlazyをつけたいとこだけど ;(define (stream-tail stream k) ; (srfi-45:lazy ; (if (zero? k) ; stream ; (stream-tail (stream-cdr stream) (- k 1))))) とかで末尾呼出しされない場合メモリを食いつぶす
86 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:27:11 ] >>84 プログラミング言語なんて所詮は「λ算法=チューリングマシン」の糖衣構文に過ぎないからねぇ。 スマリヤンの本の趣旨は「コレスゲーってプログラムをつくるには(ゲーデルのいうように限界があるのだよ)」ということだからねぇ。
87 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:39:14 ] (delay (force ...))とかしなくても call/ccでdelayを包めばいいじゃん とか思ったりもしたけど 遅延される計算量がエラいことになって使い物にならないことに 実行するまで気づかなかった('A`) というか実行しても暫く気づかなかったorz
88 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:40:05 ] >>85 forceはどこいった?
89 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:41:51 ] これテンプレに入れようよw www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
90 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:41:59 ] >>88 stream-tailがプロミスを返すので (srfi-45:force (stream-tail s 10))とかするつもり
91 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:52:19 ] >>90 srfi-45のルール通りにやれ
92 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:03:54 ] >>91 どこらへんがルールと違う? * wrap all constructors (e.g., '(), cons) with delay, * apply force to arguments of deconstructors (e.g., car, cdr and null?), * wrap procedure bodies with (lazy ...). は守ってるつもりだけど
93 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:06:30 ] >>89 朝日ネットのURLは /~KI4S-NKMR/ こう書くほうが好みだな
94 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:33:04 ] >>83-84 ,>>86 ループまたは再帰のあるチューリング完全なプログラミング言語は等価であるということですか。やっとわかりました。(汗 等価であるなら個別の問題に対して実装しやすい言語を使えば良いということですよね。 でLisp/Schemeの場合、マクロで拡張してその問題に特化したDSLを作成して実装したらいいというのがグレアムのスタンス。 >>54 が言ってた言語の拡張性がこの言語のユーザーの強みといえるかな。SLLGENとかもソレ系ですし。
95 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:58:31 ] >>83-84 ,>>86 ,>>94 そういう流れのLisp本、チャイティン著「知の限界」「数学の限界」という本がありますよ。 Lisp使ってゲーデルの不完全性定理やチューリングの停止問題を説明してます。
96 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:09:22 ] ググってたらゲーデルもLisperだったって書いてあった。
97 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:16:06 ] >>93 うるさいことを言うと、URLの中の ~ はエスケープしなければいけないという「規格」になっておる。
98 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:17:44 ] 87は計算量以外に初歩的かつ致命的な欠点があった 忘れてくださいorz
99 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:27:29 ] Sho"nfinkel Rules!!!
100 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:50:27 ] >>96 ホフスタッターの本にそんなのあったね。 あった!「メタ、マジックゲーム」p445 「ゲーデルはリスプ(Lisp)を思いついておくべきだった。 もし彼がリスプを思いついていたならば...」
101 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:12:48 ] >>97 > >>93 > うるさいことを言うと、URLの中の ~ はエスケープしなければいけないという「規格」になっておる。 RFC 1738 ではそうですね。 URI (RFC 2396) ではおkです。
102 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:14:20 ] みんな学があるなあ
103 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:47:42 ] 学々古々
104 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:01:11 ] >>95 「知の限界」読み直してみようと思う。p71のLISPによるゲーデルの証明、 これSchemeで書きなおせるかやってみる。 チャイティンの書いたLispインタープリタってネットで公開されていたような...
105 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:02:24 ] lex/yacc&flex/bisonでパーサー作るより>>94 みたくDSLで拡張すれば、既存のLisp/Schemeのプログラムとくっ付けることでいとも簡単に新しい処理系が出来てしまうのか。 しかもPrologとかAIを組み合わせればちょっと他の処理系では作りにくいものも作れてしまうのか。ガンダムの教育型OSってこんなイメージかなw がんばってLittle Schemerシリーズ読んでみようかな。Ocaml/Haskellはかじったけどこっちの方が面白杉。
106 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:05:54 ] >>104 あれ、emacsやxyzzyでも動くのかな?Scheme版出来たらうpキボンヌ
107 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:10:14 ] >>95 ,>>100 ,>>104 達、すごい本読んでるね。
108 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:13:16 ] >>103 そんなオマエにガクガクブルブルw
109 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:18:14 ] 「げー出る、エッシャー、バッハ」と「メタマジック・ゲーム」は俺も本棚に飾ってあるぜー! 前者は箱入りなのに後者は箱がなくて悲しいぜ。
110 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:19:24 ] このスレで紹介された本 [1] Little Schemer [2] Seasoned Schemer [3] Reasoned Schemer [4] To Mock a Mockingbird(ものまね鳥をまねる) [5] To kill a mocking bird(アラバマ物語) [6] On Lisp [7] 知の限界 [8] 数学の限界 [9] メタ、マジックゲーム [10] SICP
111 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:20:26 ] [11] ゲーデル・エッシャー・バッハ
112 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:27:42 ] 前スレからだけどこれもあった。2月が楽しみ。wktk [12] 「プログラミングGauche」 川合史朗 監修 Kahuaプロジェクト 著
113 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:40:25 ] >>45 Yコンビネータまで8羽理解すればいいのか。今、気がついたw S (ムクドリ:Starling) K (チョウゲンボウ:Kestrel) I (???:Identity bird)=SKK B (???:Blue bird)=S(KS)K C (コウカンチョウ:Cardinal)=S(BBS)(KK) M (ものまね鳥:Mocking bird)=SII L (ヒバリ:Lark)=CBM Y (賢人鳥:Why bird)=SLL
114 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:50:00 ] >>113 ホレ。 (define S (lambda (f) (lambda (g) (lambda (x) ((f x) (g x)))))) (define K (lambda (x) (lambda (y) x))) (define I (lambda (x) x)) (define-macro (define-combinator name body) `(define ,name (lambda (arg) (,body arg)))) (define define-combinator define) (define-combinator B ((S (K S)) K)) (define-combinator C ((S((S(K((S(K S))K)))S))(K K))) (define-combinator M ((S I) I)) (define-combinator L ((C B) M)) (define Y (lambda (F) ((lambda (my-make-f) (F (lambda (x) ((my-make-f my-make-f) x)))) (lambda (my-make-f) (F (lambda (x) ((my-make-f my-make-f) x)))))))
115 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:52:45 ] (define (Fact my-fact) (lambda (n) (if (= n 0) 1 (* n (my-fact (- n 1)))))) (define fact (Y Fact)) (fact 10) 3628800
116 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:53:43 ] (define (Fib my-fib) (lambda (n) (if (<= n 1) 1 (+ (my-fib (- n 1)) (my-fib (- n 2)))))) (define fib (Y Fib)) (fib 10) 89
117 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:55:09 ] これでもいいハズだけどw (define-combinator Y ((S L) L))
118 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:00:31 ] >>110 > [9] メタ、マジックゲーム 超なつかしい 高校の夏休みにY.M.O.ベストと一緒に図書館で借りて読んだのをおぼえてる。 いま思うと充実してたなあの頃は。
119 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:02:22 ] ,. -‐'''''""¨¨¨ヽ それじゃあ僭越ながら (.___,,,... -ァァフ| あ…ありのまま 今 起こった事を話すぜ! |i i| }! }} //| |l、{ j} /,,ィ//| 『おれは階乗計算のために無名関数をいじっていたと i|:!ヾ、_ノ/ u {:}//ヘ 思ったらいつのまにかいじる前の状態に戻っていた』 |リ u' } ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人 な… 何を言ってるのか わからねーと思うが /' ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった… ,゙ / )ヽ iLレ u' | | ヾlトハ〉 |/_/ ハ !ニ⊇ '/:} V:::::ヽ 頭がどうにかなりそうだった… // 二二二7'T'' /u' __ /:::::::/`ヽ /'´r ー---ァ‐゙T´ '"´ /::::/-‐ \ グラハムだとかチャイティンだとか / // 广¨´ /' /:::::/´ ̄`ヽ ⌒ヽ そんな大層なもんじゃあ 断じてねえ ノ ' / ノ:::::`ー-、___/:::::// ヽ } _/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしい「普通の再帰」と「Yコンビネータ」の違いを味わったぜ…
120 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 02:29:41 ] とりあえず、グレアムな
121 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 06:00:52 ] >>114 「計算論」(高橋正子著)を読み始めていたので参考になった。 ありがとう。
122 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 11:45:06 ] 急に難しい話題が増えたね 俺はバカだから、理由もなく難しいことを考えるのは非合理的だと思うけど 君らにとっては難しくなくて、難しくないことを考えるのに理由は要らない なんというかバカの壁を実感したよ
123 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 12:26:41 ] バカであることに気がついてる奴は大したバカではないよ
124 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 14:35:15 ] じゃあ俺も壁感じたから大した馬鹿じゃないな\(^o^)/ヨカター ところで、新宿ジュンク堂にならLittle schemerあるかもと思ったけど無かった。 MITの本はいくつかあったけど。 注文したらアマゾンの方が早いかな。
125 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 18:06:49 ] >>113-114 チラ見だけど、SKKとかSIIとかSLLとかがやたら目に付いた。なんか深遠なパターンがあるんだろうな。
126 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 18:14:00 ] >>80-86 その「コレスゲープログラム」はunlambdaのことジャマイカ? 難読化してもちゃんと動くぜってノリだった希ガス。
127 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:39:36 ] ポルナレフに突っ込み入れる>>120 はアブドゥルなのか?w
128 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:53:02 ] >>126 チャウチャウ。このスレの流れで言ってるコレスゲープログラムは定理証明機としての意味。だから>>95 ,>>104 の話が出てきた。 >>100 の紹介した本が言ってるのは「ゲーデルがもっと便利な定理証明機(Lisp)を思いついていれば」という意味だ。 つまりスマリヤンが言ってるコレスゲープログラムとはスゲー定理ということ。
129 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:54:52 ] コレスゲープログラム = スゲー定理 = ゲーデルの不完全性定理
130 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:59:59 ] つまり>>60 はスマリヤンやチャイティン嫁ってことかw
131 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:19:26 ] タオイズムか!
132 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:55:13 ] 「ものまね鳥をまねる」って「定理証明機=ラムダ算法=結合子論理=プログラミング言語」って意味だったのか。マジで知らなかった(汗 このスレ勉強になるな。
133 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:05:52 ] >>126 UnlambdaやBrainf*ckの意味ではなく、CoqやIsabella等の定理証明機が正解かな常考。
134 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:13:32 ] >>124 まちがいない。
135 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:27:01 ] >>86 と>>132 をみてチューリングマシーンが定理証明機だということに初めて気がついた。そういうことだったのか。
136 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:34:08 ] なら>>60 が求めてるのは「公理データベースによって結果が異なる自動定理証明機」というところか?
137 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:00:18 ] >>135 チューリングマシーンがハードウェア型の定理証明機とするならラムダ算法とか結合子論理はソフトウェア型の定理証明機になってるよね。 でも>>100 にあるようにもしもゲーデルがLispのようなプログラミング言語を知っていれば、ゲーデルの証明はもっと理解しやすかったのにということだよ。 つまり、たとえ等価でももっと分かり易くできるプログラミング言語があるならそれを使うべきだというのが結論じゃないかな。 教養として難しいことも知っておくのも意義はあるけどね。UnlambdaやBrainf*ckもそういう意味でしかないと思う。
138 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:13:01 ] 自力では歯が立たなかったので下記を参考にやってみた。 ttp://www.unfindable.net/~yabuki/article/unknowable/godel.html ;;不動点 (define (f x) `(',x ',x)) > (f 'x) ((quote x) (quote x)) > (f f) ((quote #<procedure:f>) (quote #<procedure:f>)) > (equal? (f f) (eval (f f))) #t > (equal? (f f) (eval (eval (eval (eval (eval (f f))))))) #t > 続く
139 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:14:00 ] ;;チャイティン Lispによるゲーデルの証明 ;;(valid-proof? x) の定義があると仮定する。xが妥当な証明なら'() ;;xが妥当な証明なら実証された定理を返す。 ;;s式yが証明できない⇔すべてのs式xについて (valid-proof? x)が ;;yと等価とは限らない。 ;;これを肯定する述語が (is-unprovable y) (define (g x) `(is-unprovable (value-of (',x ',x)))) > (g 'x) (is-unprovable (value-of ((quote x) (quote x)))) > (g g) (is-unprovable (value-of ((quote #<procedure:g>) (quote #<procedure:g>)))) > (equal? (g g) (eval (cadr (cadr (g g))))) #t > 証明できないということは証明できない = (証明できないということは証明できない)ということは証明できない。 こういう意味なのだろうか?頭が痛くなりそうだ。
140 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:32:34 ] 訂正 誤 ;;(valid-proof? x) の定義があると仮定する。xが妥当な証明なら'() 正 ;;(valid-proof? x) の定義があると仮定する。xが妥当な証明でないなら'()
141 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:37:03 ] >>139 その入れ子になっている計算が無限に続いた入れ子と仮定して、その計算はいつか止まるのかという意味になっている。 それがチューリングの停止性問題だ。1931年にゲーデルがやったことを1937年にチューリングがチューリングマシンで説明した問題。 それをチャイティンはLispで書いてみたってこと。チューリングの停止性問題でググレばわかりやすい説明が見つかるだろう。 (チャイティンにケチをつけるわけじゃないが、無限のメモリがないと同じことにはならない)
142 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:50:09 ] >>140 Little Schemerの9章に出てくるYコンビネータも無限に続いた入れ子(=再帰関数)を作るためだよね。 >>114-119 のYコンビネータがそれに相当するかな。
143 名前:138 mailto:sage [2008/01/16(水) 23:58:33 ] >>141 >>142 なるほど〜。勉強になりました。
144 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:06:45 ] 無限ループは止まらないだろ常考。ということは、「証明できないということは証明できないということは・・・」の答えが返ってこないから証明できないわけ。
145 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:08:35 ] >>143 おぉ、理解早いね。
146 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:20:21 ] >>144 ゲーデルとチューリングって無限ループは止まらないってことを言ってるのか。なんか意外だなぁ。
147 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:23:36 ] ・止まる無限ループが存在すると仮定する ・矛盾する ・従ってすべての無限ループは止まらない ・証明終わり
148 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:25:33 ] >>146 無限という概念は数学的には不可解なのです。
149 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:33:04 ] ループや再帰を持つものはチューリング完全である。 ↓ 無限のループや再帰は止まらないことがある。 ↓ 判定不能な問題が存在する。 ↓ チューリング完全なプログラミング言語は万能ではない! ↓ プログラマーに出来ることには限界がある。 ↓ バカの壁(Q.E.D.)
150 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:38:48 ] ゲーデルとチューリングってバカの壁ってことを言ってるのか。なんか意外だなぁw
151 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:42:36 ] バカの壁という概念は数学的には無限ループなのです。
152 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:10:59 ] 量子論的にはどんな壁でもすり抜けられるけどね。
153 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:34:23 ] 確率が低いだけだな
154 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:38:18 ] 本当によくわからないんです><
155 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:54:11 ] 関数型初心者→Haskellかじって→SICP読み始める→Scheme素晴らしい な人間ですが、Lisperから見たとき、Haskellってどんな印象なんでしょうか。
156 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 10:16:02 ] 止まるなら止まる 止まらないかもしれないと止まらないかもしれないと止まらないかもしれないと.... という「半アルゴリズム」なんだな
157 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:14:48 ] >>155 「なんて純粋な関数型!しかも遅延!」
158 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:35:51 ] なぜかわからんが、昔から俺には 「遅延」っていう響きがいやらしく感じるんだ。
159 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:00:35 ] >>155 Lisper一般ではなく、あくまで俺の印象だが、 「純粋すぎてちょっとめんどい」って感じ。 たぶん誤解なんだろうけど。
160 名前:155 mailto:sage [2008/01/17(木) 14:16:28 ] なるほど、ちょっとメンドイというのは、Schemeの芸術的シンプルさから見たら 色々煩すぎるよ、ということでしょうか。
161 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:16:43 ] > Haskell 数学や哲学の匂いに比べて、肝心の(という言い方はトゲがあるかな)工学の匂いが薄い、 という風に感じる。 でもこれは、2chのスレや、関数型言語関連の検索で引っかかったページからの印象で、 実際にHaskellに触ったことは無いんで、>>159 と同じく、色々誤解もあるんだろうなと想像。
162 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:36:20 ] >>160 ちょっと違うかな。 LispでもSchemeでも、関数型風に書くこともできれば、手続き風に書くこともできるよね。 純粋関数型言語ってのはそういう融通が効かなさそうで、用途によっては面倒じゃね?って イメージ。たぶんいろんな逃げ道があって、そうでもないんだろうけど。
163 名前:155 mailto:sage [2008/01/17(木) 14:45:03 ] >>162 そうですね。言語の入門ってよく"Hello World"をコンソールとかに出力するのとか から始まりますが。Haskellの場合それは典型的な副作用関数なので、モナドが 必要とか、そんな話になってしまいます。
164 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:06:23 ] >>155 Haskellみて思うのはUKの純粋関数型言語というイメージかな? ML系やLisp系にはUKの言語みたいなこだわりは感じないかなぁ。 良いとか悪いとかいう感想は持ったことない。職人的なこだわりが感じられる。
165 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:23:28 ] やっぱLispは東海岸? BSDが西海岸文化で。
166 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:57:24 ] どなたかSimply Schemeの紹介キボンヌ
167 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:21:03 ] >>165 もっと絞るとボストン周辺文化
168 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:33:55 ] >>155 俺と全く同じ状況でワロタ。 lispの構文はシンプルで美しいと、心から思ったよ。
169 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:12:10 ] ttp://www.oreilly.co.jp/editors/archives/000155.html 赤多過ぎ。 表紙が「Gaucheプログラミング」って表紙からして間違ってない? ダイジョブカ?
170 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:38:34 ] >>169 逆に考えるんだ。それだけ改善される、と。
171 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:58:30 ] オレも頑張ってるなとオモタよ。
172 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 02:26:18 ] >>167 そりゃ偏見w インディアナあたりもガンガってる。
173 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 03:43:26 ] >>163 「モナドが必要」って,一体何をそんなに仰々しく構えているのか. 何も考えずに putStrLn すればいいんですよ. (write "Hello world!") (newline) と書くとき,Schemeの意味論を思い浮かべる? ;; そもそも意味論はRnRSの一部しか記述してないけど
174 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:25:47 ] ここにいる人たちは学生ですか? あるいは社会人だけど趣味やスキルアップのためにSchemeを やっているのですか? 仕事でScheme使ってる人はいるのでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:49:33 ] いつか仕事(個人的なutilじゃなく)で使えればなーと思いつつ、スキルアップのため