Lisp Scheme Part41 (855レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
390: デフォルトの名無しさん [] 2021/06/28(月) 10:44:02.91 ID:TRKsA7C/ >>389 (if (< 0 x) … と if を使いたいです。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/390
391: デフォルトの名無しさん [sage] 2021/06/28(月) 11:02:31.15 ID:PxTgcihw (if (< 0 x) (begin (newline) (display 1.0))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/391
392: デフォルトの名無しさん [] 2021/06/28(月) 11:03:43.42 ID:7XtL7Dy7 (if (< 0 x) ((lambda () (newline) (display 1.0)))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/392
393: デフォルトの名無しさん [sage] 2021/06/28(月) 14:39:39.18 ID:TRKsA7C/ >>391-392 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/393
394: デフォルトの名無しさん [sage] 2021/06/28(月) 20:21:41.41 ID:3DnBzo4y condでいい (cond ((< 0 x) (newline) (display 1.0))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/394
395: デフォルトの名無しさん [sage] 2021/06/28(月) 21:54:24.27 ID:PxTgcihw 今度でいい? http://mevius.5ch.net/test/read.cgi/tech/1531587928/395
396: デフォルトの名無しさん [sage] 2021/06/29(火) 12:31:46.50 ID:aO3q0Gho implicit progn(begin)が欲しいならwhenとunlessを積極的に使おう http://mevius.5ch.net/test/read.cgi/tech/1531587928/396
397: デフォルトの名無しさん [sage] 2021/06/29(火) 12:46:42.78 ID:aO3q0Gho 色んな書き方が出来るからこそ、most specificなものを使おう http://mevius.5ch.net/test/read.cgi/tech/1531587928/397
398: デフォルトの名無しさん [] 2021/06/29(火) 13:29:59.66 ID:0N5v+m2R 二年前から、どうでもいい駄文が多すぎだな。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/398
399: デフォルトの名無しさん [sage] 2021/06/29(火) 17:27:58.16 ID:cKUJRDcK へーじゃあ君は2年間何してたの http://mevius.5ch.net/test/read.cgi/tech/1531587928/399
400: デフォルトの名無しさん [sage] 2021/06/29(火) 18:52:26.88 ID:yETyFiIt lispの質問が減って自己紹介みたいな駄文が多いんだよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/400
401: デフォルトの名無しさん [sage] 2021/06/30(水) 02:43:05.48 ID:HrMy06Ib 結局 most specific なものは何だろう http://mevius.5ch.net/test/read.cgi/tech/1531587928/401
402: デフォルトの名無しさん [sage] 2021/06/30(水) 03:40:26.71 ID:hbO/nBwY when でいいんじゃね http://mevius.5ch.net/test/read.cgi/tech/1531587928/402
403: デフォルトの名無しさん [] 2021/07/07(水) 05:18:16.92 ID:Jk8/Aq6G stalin って今も最速? http://mevius.5ch.net/test/read.cgi/tech/1531587928/403
404: デフォルトの名無しさん [sage] 2021/07/07(水) 20:28:05.30 ID:Kq6g4muF スターリンは残酷に最適化するからな http://mevius.5ch.net/test/read.cgi/tech/1531587928/404
405: デフォルトの名無しさん [sage] 2021/07/07(水) 23:24:28.15 ID:690XxCxv プログラムがr4rsで記述できていてシングルスレッドしばりの競争ならいまでも速い可能性はあるだろうな だれか追試してくれよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/405
406: デフォルトの名無しさん [] 2021/07/11(日) 18:50:40.89 ID:aa3AN28M (eq? '(a b c) (list 'a 'b 'c)) を実行すると #f となるのはなぜでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1531587928/406
407: デフォルトの名無しさん [sage] 2021/07/11(日) 19:31:30.75 ID:19O1KSs3 eq?はメモリ上の実体が同一かどうかを返すので、値を比較したかったらequal?を使えばいいよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/407
408: デフォルトの名無しさん [sage] 2021/07/11(日) 20:25:33.03 ID:aa3AN28M >>407 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/408
409: デフォルトの名無しさん [sage] 2021/07/12(月) 20:42:52.24 ID:O01P9WLY named let使おうと思ったらCommon lispには無かった http://mevius.5ch.net/test/read.cgi/tech/1531587928/409
410: デフォルトの名無しさん [sage] 2021/07/12(月) 22:45:17.08 ID:u5zIJQm8 (let loop ((n 10)) (if (> n 0) (loop (- n 1)) #t)) ↓ (((lambda (loop) (set! loop (lambda (n) (if (> n 0) (loop (- n 1)) #t))) loop) 'dummy-label) 10) こういう仕組みだからCLで書けなくもないと思うけど http://mevius.5ch.net/test/read.cgi/tech/1531587928/410
411: デフォルトの名無しさん [sage] 2021/07/12(月) 23:10:07.08 ID:eka9NNGK 現代のlispハッカーはみんなloopマクロ使ってるよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/411
412: デフォルトの名無しさん [sage] 2021/07/13(火) 08:34:35.37 ID:egse1qJT named-lambdaならalexandriaにある http://mevius.5ch.net/test/read.cgi/tech/1531587928/412
413: デフォルトの名無しさん [sage] 2021/07/13(火) 10:27:19.42 ID:A078Hhon Schemeで、 (+ '3 3) を評価すると 6 が返ります。 '3 は「3」というシンボルを表わすのではないんですか? http://mevius.5ch.net/test/read.cgi/tech/1531587928/413
414: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/13(火) 11:05:03.90 ID:jDPJbhfl >>413 クウォートは評価を抑制するという仕組み。 データ (S式) の世界がプログラムの世界にマッピングされるときにデータの世界のままで留め置く感じ。 識別子はデータの世界ではシンボルなので、(変数として) 評価しなければシンボル自体となる。 3 はデータの世界でも数値の 3 であり、数値はプログラムの世界で評価すると それ自体になるという自己評価 (self-evaluating) という規則の対象なので 3 はクウォートを付けても付けなくても評価結果は数値の
3 。 ちなみにベクタリテラルが自己評価の対象になるかどうかは変更があったので注意が必要。 R5RS/R6RS では自己評価の対象ではないのでクウォートが必要だが R7RS では自己評価になる。 まあほとんどの処理系は適当に許容したりもするんだけど。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/414
415: デフォルトの名無しさん [sage] 2021/07/13(火) 16:32:31.52 ID:NGIJbx4Y number?で#tなだけで数値をシンボルで実装した処理系もあるかもしれん http://mevius.5ch.net/test/read.cgi/tech/1531587928/415
416: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/13(火) 17:10:19.73 ID:QSkHhbzy 小さい数値はヒープアロケーションせずにワードに詰め込む (ことで GC 削減して高速化を図る) ような実装が一般的だったり、同じ内容の文字列リテラルを統合したりすることがある。 eq? が数値や文字列について処理系依存になっているのは おそらくそういった最適化を許すための配慮なんだけど、 処理が遅くなってでも一貫した扱いをするというデザインを選んだなら 内部的に数値とシンボルと統合することも選択肢としてはあるかもね。 そうしてもユーザー視点では
たいして得なことはないんだけど、 アプリケーションに組み込んで拡張用言語として使うとか だったらアプリケーション側の事情と馴染みやすいかどうかみたいな視点もあるし。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/416
417: デフォルトの名無しさん [sage] 2021/07/13(火) 19:58:17.06 ID:tejz1RXC 数字はreadした時点でnumberになる それをquoteしてもnumberのまま quoteするとはevalされないということだ もちろんnumberをevalしてもnumberのままだ http://mevius.5ch.net/test/read.cgi/tech/1531587928/417
418: デフォルトの名無しさん [sage] 2021/07/14(水) 06:57:41.65 ID:O4vE2Kew あっそうか 末尾再帰が仕様にないからloopを使うようになってるのかな? http://mevius.5ch.net/test/read.cgi/tech/1531587928/418
419: デフォルトの名無しさん [sage] 2021/07/15(木) 04:52:42.37 ID:eqEigNI9 逆やね末尾再帰でloopを代替できるからイキって仕様からloopを消したったのがschemeやからユーザーもイキるやで http://mevius.5ch.net/test/read.cgi/tech/1531587928/419
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 436 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s