1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ] □過去スレ□ Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/ Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/ Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/ 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
252 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:50:09 ] 乞食が自分で書けば良いんジャマイカ?
253 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:51:23 ] >>250 「そのレベル」でいいんジャマイカ、と
254 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:54:47 ] 荒れてきたねw foldで書き直せますって言う暇があったら好例を出すべきだったと思うね。
255 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 01:57:29 ] >>253 おまえも馬鹿らしいなw
256 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:04:31 ] もですね、わかります
257 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:11:52 ] ,;r''"~ ̄^'ヽ, ./ ;ヽ 新憲法で表現の自由規制、裁判官の国民審査権破棄 l _,,,,,,,,_,;;;;i l l''|~___;;、_y__ lミ;l ネット規制法で検閲、人権擁護法案で報道規制、 ゙l;| | `'",;_,i`'"|;i | ,r''i ヽ, '~rーj`c=/ ダウンロード違法、単純所持禁止、..etcetc ,/ ヽ ヽ`ー"/:: `ヽ / ゙ヽ  ̄、::::: ゙l, 情報源を潰して日本を中国化だ!フゥハハハーハァー |;/"⌒ヽ, \ ヽ: _l_ ri ri l l ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| | / | ゙l゙l, l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l | ヽ ヽ _|_ _ "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ /"ヽ 'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄ [i゙''''''''''''''''"゙゙゙ ̄`" / ヽ ー──''''''""(;;) `゙,j" | | | _,,,,,,,,,ヽ、 ,,,,,r-'''''ーー'''| | | | ''" ヽ,,___,,,r‐''''''二__ |__| | | \'''" / ノ | |
258 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:13:43 ] >>256 ああいえばこういう。まじ視ね。
259 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:14:33 ] なんか蛆虫がいっぱいw
260 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:41:53 ] >>247 良い例マダァ?
261 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:47:45 ] 荒れる方向へ誘導するなよ
262 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:51:16 ] もうおまいら全部まとめて >>7 独習 Scheme 三週間 (Schemeの教科書 ) でも読んで寝ろよ。 定番のコルーチンとバックトラックがちゃんとのってるぞ。
263 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 03:53:30 ] >>262 動作を理解しても「こんなのいらね」で終わることもあるからな。良い例が欲しいな。
264 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:16:01 ] グダグダうるせーんだよ。乞食は氏ね。
265 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 07:28:43 ] ambは再帰で書くと分かりにくいが、これならどうだ (define-syntax amb (syntax-rules () ((_ x ...) (let/cc yield (let/cc fallthrough (push! stack fallthrough) (yield x)) ... ((pop! stack))))))
266 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 09:39:35 ] >>265 そんな動きもしない中途半端な例より過去スレ嫁。 不思議の国のアリスをやってた連中がambを使ってたハズ。
267 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 10:51:03 ] Gauche使ってる奴は独自機能を使って煙に巻きたがるんだよなw push!とpop!の説明しないのかよ?
268 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 10:53:39 ] (define-syntax amb (syntax-rules () ((_) (fail)) ((_ a) a) ((_ a b ...) (let ((fail0 fail)) (call/cc (lambda (cc) (set! fail (lambda () (set! fail fail0) (cc (amb b ...)))) (cc a))))))) (define call/cc call-with-current-continuation) (define fail #f) (define (require pred) (or pred (amb))) (call/cc (lambda (cc) (set! fail (lambda () (cc 'no-choise)))))
269 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:22:04 ] このスレも人増えてなにより
270 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:49:40 ] (define call/cc call-with-current-continuation) (define fail #f) (call/cc (lambda (cc) (set! fail (lambda () (cc 'no-choise))))) (fail) ; => no-choise
271 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:02:19 ] >>196-197 と比較するとambがやってることがわかると思う。 (amb 1 2 3 4 5) ; => 1 (fail) ; => 2 (fail) ; => 3 (fail) ; => 4 (fail) ; => 5 (fail) ; => no-choise
272 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:07:54 ] >>246 うほっ、これいいね! 出典があるなら教えて〜
273 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:17:57 ] >>272 それ前スレにも出てた。有名なのかも。
274 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:41:12 ] >>272 おそらく出典はGuy Steele御大です。 ttp://lib.store.yahoo.net/lib/paulgraham/cint.lisp
275 名前:272 mailto:sage [2008/06/01(日) 12:41:45 ] ありがと^^
276 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:54:41 ] #define d define #d a include #a <stdio.h> #a <string.h> #a <ctype.h> #d p char* #d P ,(p) #d T(E) !strcmp(E,"()") #d U return #d W while #d X sbrk(199) #d z atof #d e isspace #d D A(_) #d E S(C(_)) #d B(y) p y(_)p _;{ #d G(y,V) B(y)p i;U sprintf(i=X,"%lf",z(E)V z(S(C(D)))),i;}p sbrk(),*S(),*j(),*O,*H;K,Y,M=14;double z();Q(_)p _;{int V=0;W(e(*_))_++;H=_;W(V|!(e (*H)|*H==')'||(*H=='('&&H-_)))V+=(*H=='(')-(*H== ')'),H++;U H-_;}B(C)U _++,Y=Q(_),_=strncpy(X,_,Y),_[Y]=0,_;}B(A)_++,_+=Q(_);W(e(*_))_++;U O=X,*O='(',strcpy( O+1,_),O;}B(Z)U _;}B(c)U C(E);}B(q)U A(E);}B(t)p i=E;U H=S(C (D)),sprintf(O=X,T(H)?"(%s)":"(%s %s",i,H+1),O;}B(F)U S(C(A(T(E)?D:_)));}L(i,s)p i,*s;{U isdigit(*i)?z(i)!=z(s):strcmp(i,s);}B(b)U L(E,S(C(D)))?"()":"t";}B(R)U E;}B(o)U z(E)<z(S(C(D)))?"t":"()";}G(f,+)G(g,-)G(h,*)p r[4][2]={"function" P R, "quote"P C,"lambda"P Z,"defun"P j};B(j)U r[M][1]=D,*r[M++]=C(_);}p not[99][2]={"if"P F,"equal"P b,"<"P o,"+"P f,"-"P g,"*"P h,"car"P c,"cdr"P q, "cons"P t,"t","t"};B(S)int Li,s;p u;if(isdigit(*_)|T(_))U _;for(Y=M;Y--;)if(!strcmp(_,*r[Y]))U r[Y][1];u=E,_=D;if(*u-'(')U(*((p(*)())u))(_);s=Li=M;W(!T(_))r[M][1]=E,*r[M++] ="",_=D;O=C(u);W(!T(O))*r[Li++]=C(O),O=A(O);U O=S(C(A(u))),M=s,O;}main(){H=O=X,Y=0;W(Y|!e(K=getchar()))K==EOF?exit(0):0,Y+=(K=='(')-(K==')'),*H++=K;*H=0,puts(S(O)) ,main();{printf("XLISP 4.0\n");}}
277 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 13:04:34 ] call/ccが名前つきブロックにもなるletrecを内側に持つとgotoできるのか。 letrecをループに使うのは良くみかけるけどね。 (define (count-chars) (letrec ((loop (lambda (ch count) (if (eof-object? ch) count (loop (read-char) (+ count 1)))))) (loop (read-char) 0)))
278 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:30:36 ] 好みの問題ですけど 相互再帰じゃない場合はnamed letの方が見やすいですね。
279 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:02:33 ] >>278 こんなとこで言ってないで国際会議の場でGuy Steeleに意見しろよ。
280 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:18:39 ] 先月caltechのカンファで直接言ったんだけど、Fortressの後始末でそれどころじゃないみたい。
281 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:29:13 ] この間スペックが出たばかりなのに後始末って何するの?
282 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:44 ] スペックが出ちゃえばあとは後始末だけだな
283 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:22:31 ] Fortressの教科書書いてくれないのかな。
284 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:23:36 ] >>280 はオトコだが、>>279 は根性無しの引きもりと言うことですね。
285 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:57:55 ] >>284 顔真っ赤にして見苦しいよw
286 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:03:13 ] >>283 Steele って教科書書いた事あるの?
287 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:19:35 ] >>286 Cの本、Common Lispの本は?Javaのもあるし、もう1冊The High Performance Fortran Handbookもあるけど。 あと、本じゃないけどジャーゴンファイル。 PDFで結構いろいろなマニュアルも見つかる。 このスレでは "The History of Scheme" が有名かな。 絶対に外せないのがコレかな ttp://dspace.mit.edu/bitstream/1721.1/5794/2/AIM-349.pdf
288 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:35:16 ] サンクス。もっと入門的な書き物の事だと思ってた。 理論的なペーパーならここにあるのじゃダメかな。 research.sun.com/projects/plrg/Publications/index.html
289 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:50:15 ] >>288 d。だめってことはないよ。こちらの勝手な希望なのでw ttp://research.sun.com/projects/plrg/Publications/linuxMagazine.pdf こんな感じで200〜400ページぐらいの分量があると全貌が見えるからいいかなと。 Guy Steeleはマニュアル書くと面白い例を出してくれるから期待したいな。 Cの本なんてすごく良かったのに和訳が絶版になって残念だなぁと思う。
290 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:55:58 ] >>285 が痛すぎる件について。 まぁ不問にしてやろうw
291 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:11:11 ] くだらないやりとり引っ張る奴が一番見苦しい
292 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 09:08:32 ] 本当に「この話題を引っ張って欲しくない」人は、見苦しいとか煽って余計終わりにくくしたりしません。 ま、勢いで書き残しちゃった自分の痛いレスに触れて欲しくない>>285 が、正論のフリして終結を促したものの、 自意識が邪魔してつい余計な「反撃」をしちゃって、終わらせることにも第三者のフリにも失敗、というとこでしょうかw
293 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:23:26 ] >>286 ない。
294 名前:デフォルトの名無しさん [2008/06/03(火) 10:24:15 ] AI MEMO は Lambda the Ultimate シリーズもだな
295 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:30:30 ] ttp://library.readscheme.org/page1.html
296 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:31:19 ] parser generator を探してみた。さすがは実験言語。ぞろぞろ出てきますw ttp://www.iro.umontreal.ca/~boucherd/Lalr/documentation/lalr.html ttp://www.informatik.uni-freiburg.de/proglang/software/essence/ ttp://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/parsing/taurus/0.html
297 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:35:32 ] >>292 おまえ等クダスレ逝って喧嘩しろ。邪魔。
298 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:40:48 ] >>296 こんなのあるYO! ttp://www.cs.indiana.edu/scheme-repository/code.lang.html
299 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:50:11 ] >>296 エッセンスが好き。
300 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:03:09 ] 遺伝的プログラミング ttp://codepad.org/bnZP9J3Y
301 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:07:21 ] essenceってLL(1)のSLLGENと比べて敷居が高そうw そんなこと無さ気に書いてあるけどさw
302 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:09:05 ] >>298 激しくd。凄いね。
303 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:37 ] >>301 使うの簡単だよ。 開発は大変だったろうけど。 汎用のパーザの部分計算でパーザを生成するから。
304 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:58 ] >>300 なんじゃそりゃ! (define (equ x) (* 2 (^ x 4))) という式の微分を求めてるらしいけど。普通の記号処理と違うのに (* 8 (^ x 3)) と同じ式がちゃんと求まってるw
305 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:14:37 ] >>300 ,>>304 ttp://www.genetic-programming.org/gplittlelisp.html
306 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:17:13 ] 遺伝的プログラミングで最適化したコードを吐くパーザとかw
307 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:32:33 ] essenceはScheme48用のpggというProgram Generator Generatorを使うのね。 作られたessenceはProgram Generatorなんだから、できたスキームはプログラムなわけ。 でもスキーム用のpggというProgram Generator Generatorを使うと・・・
308 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:55:01 ] >>297 本当にそう思ってる人は、 (ごく一部の、目的の為に衝動を抑えるという人類なら大抵できることができないクズを除いて) そういう喧嘩腰の追っ払い方を試みません。バレバレですw
309 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:56:11 ] >>307 その再帰の不動点プログラムはいったいなんなんだ。
310 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:05:10 ] 遺伝的プログラミングで関数が収束しているのは一様収束?
311 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:10:05 ] >>309 Schemeなんじゃないかな。
312 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:26:01 ] 初めてYコンビネータとかambとかGPを見たとき魔法を使ってるみたいだって思った。
313 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:08:36 ] >>308 本当にそう思っている人も居るからそろそろ察してね。
314 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:58:16 ] >>309 不動点として処理系を求めることなんてできるのかな? >>310 世代を増やしてやれば一様収束に近いかな? 世代数より、使える要素の数に対する候補数や木構造の複雑さの許容範囲の方が 解に対して大きく影響を与えるようだよ。 その辺のパラメータを上手に与えないとGPが正しい解を返してくれない。 理論的なことはよくわからないんだけど。
315 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:28:22 ] >>312 GPは未だに魔法みたいに見える Yコンビネータとambは解説読むと目から鱗だった(ガッテンボタンいっぱい押す感じ)
316 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:56:57 ] つ ∩ヘ〜
317 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:07:13 ] best score of generationが0.001以下なら安心できる解が得られてるというのを目安に使ってる。 理屈抜きにw
318 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:32:08 ] ttp://codepad.org/P0lz91lS この例だと3番目で0.001以下なので正しいと考える。 伊庭研HPにもそう書いてあるw
319 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:42:20 ] 試しにcos x の微分を解かせてみた。一発回答だった。スゲーw ttp://codepad.org/1fI1ZtGU
320 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:17:01 ] GPってなんすか?
321 名前:320 mailto:sage [2008/06/05(木) 02:18:48 ] >>319 を見て解決しました > ; Genetic Programming with Scheme
322 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 08:19:19 ] >>314 表示的意味論では、表示関数は不動点。
323 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 09:58:56 ] GP=Graham,Paul
324 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:47:07 ] Little Schemerって何が言いたいのかよくわからないところが多々あるのですが、 ものまね鳥やSICPやいろいろ読んだらありがたみがわかるようになるの?
325 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:51:54 ] hogehoge schemerシリーズを買おうと思ったら 近くの本屋だとsicpとsimply schemeしか置いてねぇ・・・
326 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:54:50 ] >>325 それだけ置いてありゃ立派なもんだよ
327 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:06:39 ] >>325 都会はええのう。うちの近所じゃエクセル本しかないw
328 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:23:27 ] >>324 シリーズ3冊読んで初めて意味がわかる。 微積とかの数学を知らない人向けのSICPだったのかと。 だから数学が得意な大学生は最初からSICPでいいと思う。 CSを専攻しようか迷ってるならシリーズ3冊を読んだ後ものまね鳥を読んでみると自分の適性が判断できるよ。 ありがたみっていう意味をどう使ってるかによるけど、CSとはどういうものかを知るという意味ではいい本。 何が言いたいのかわかるというのは、CSとはどんなことがらに興味の対象をもっている分野かを理解すること。 それがわからなくてもプログラムは作れる。 けど、バグが入りこまないような理論的裏づけとか、論理プログラミングが欲しいときがそのうちクルと思う。 そのときが来る前の先行投資と思えば安いもんだと思うよ。 悩んで考える時間は若いときにしか持ち得ないからガンガレ。
329 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:12:01 ] javascriptしかいじったことのないゆとりがSICP読んでるんですけど、 schemeは無名関数内で再帰呼び出しって出来ないんですか? lambdaの中でそのlambdaを呼び出すみたいな。 javascriptだと (function(x){return (x)?x+arguments.callee(x-1):0; })(10); とかやって使うやつなんですけど… 高階演算のとこで使いたいんですが、調べてもうまく見つからなかったです。
330 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:22:55 ] >>329 (((lambda (X) ((lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))) (lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))))) (lambda (func-arg) (lambda (n) (if (zero? n) 1 (* n (func-arg (- n 1))))))) 5) Yコンビネータの雛形が内蔵されている階乗関数になってます。
331 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:23:00 ] ↑みたいなFAQネタ誰かまとめろ
332 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:29:38 ] (((lambda (X) ((lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))) (lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))))) (lambda (func-arg) (lambda (l) (if (null? l) 'no-list (if (null? (cdr l)) (car l) (max (car l) (func-arg (cdr l)))))))) '(4 5 6 3 4 8 6 2))
333 名前:329 mailto:sage [2008/06/05(木) 20:29:43 ] >>330 どうも、ありがとうございます。 なにやら複雑ですね。 >>331 既出でしたか。失礼しましたー
334 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:34:32 ] (define Y (lambda (X) ((lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))) (lambda (procedure) (X (lambda (arg) ((procedure procedure) arg)))))))
335 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:35:29 ] >>330 はこう書いてもよい。 (define F* (lambda (func-arg) (lambda (n) (if (zero? n) 1 (* n (func-arg (- n 1))))))) ((Y F*) 5)
336 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:36:15 ] >>332 はこう書いてもよい。 (define M* (lambda (func-arg) (lambda (l) (if (null? l) 'no-list (if (null? (cdr l)) (car l) (max (car l) (func-arg (cdr l)))))))) ((Y M*) '(4 5 6 3 4 8 6 2))
337 名前:329 mailto:sage [2008/06/05(木) 20:42:03 ] >>332 >>334 >>335 >>336 皆さんありがとうございます。なんかすみません。 どれも微妙に難しいコードですが、がんばって理解します。
338 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:15:18 ] >>328 丁寧なレスありがとうございます。 multirember&coとかアッカーマン関数とか、totalとpartialがどうしたとか、 これらを導出する事で何を言いたかったのかが今ひとつピンときませんでした。 まあ、でも一応Seasonedまでは読もうかと思っています。
339 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 06:25:04 ] >>328 > 微積とかの数学を知らない人向けのSICPだったのかと。 > だから数学が得意な大学生は最初からSICPでいいと思う。 これは嘘。目的が全然違う。
340 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:21:20 ] >>339 どんな本ですか?
341 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:34:58 ] SQL> SELECT COUNT(*) FROM SICPが好きな人; ---- 1 (,,゚∇゚) !!
342 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:23:17 ] (define-syntax swap (syntax-rules () ((swap a b) (let ((tmp b)) (set! b a) (set! a tmp))))) (define-syntax display-line (syntax-rules () ((display-line x) (begin (display x) (newline))))) (define tmp 5) (define other 6) (swap tmp other) (display-line tmp) (display-line other)
343 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:35:26 ] (define-syntax rotate (syntax-rules () ((rotate a) (void)) ((rotate a b c ...) (begin (swap a b) (rotate b c ...))))) (define x 1) (define y 2) (define z 3) (define w 4) (rotate x y z w) (display-line x) (display-line y) (display-line z) (display-line w)
344 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:37:26 ] (define-syntax rotate2 (syntax-rules () ((rotate2 a c ...) (shift-to (c ... a) (a c ...))))) (define-syntax shift-to (syntax-rules () ((shift-to (from0 from ...) (to0 to ...)) (let ((tmp from0)) (set! to from) ... (set! to0 tmp)) ))) (rotate2 x y z w)
345 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:00:40 ] (require (lib "time.ss" "srfi/19")) (date->string (current-date) "~Y/~m/~d(~a) ~H:~M:~S")
346 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:08:30 ] インデント付きで見る用のアンカー >>342-345
347 名前:デフォルトの名無しさん [2008/06/07(土) 12:50:40 ] 誰か教えてくれ 学校の課題で困った 点(x,y) が 傾き a 、y切片が b である 直線 の 上部にあるか、 下部にあるかを 判断する updown? 定義せよ。 ただし、 上部にあるとき #t 下部にあるとき #f を値として返すように せよ
348 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:56:50 ] 中学校からやり直せ
349 名前:347 mailto:sage [2008/06/07(土) 13:03:03 ] >>348 それは一理ありますね 1次関数の勉強をしなおしてもみましたが、ダメでした
350 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:05:58 ] >>347 ほらよ。そのまま提出しろよ (define (updown? a b) "直線上にあったら何を返せばいいんだよこんなクソ問題だすやつは死ね \ もちろん単位なんていらん")
351 名前:347 mailto:sage [2008/06/07(土) 13:12:11 ] >>350 ストレートな回答ありがとうございます 私の説明不足です 直線上は考慮するなとのことでした
352 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:18:15 ] こんな世界に生まれたことを呪いながら人生をリセットすべし