Lisp Scheme Part41 (856レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
420: デフォルトの名無しさん [sage] 2021/07/15(木) 06:43:25.74 ID:S7wkmjz6 末尾呼び出しの最適化が至高の技術のように思っていた時期が僕にもありました http://mevius.5ch.net/test/read.cgi/tech/1531587928/420
421: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/15(木) 11:32:01.61 ID:d93moyXm 末尾呼出し最適化はあくまでもセマンティクスの話であって、 ループ構文を避ける強い流れがあるわけじゃないよ。 do や named let くらいしか繰り返し構文が用意されてないのは 皆が合意できる仕様をまとめられていないという非常に単純な理由だよ。 R7RS-Large に入れるループ構文の候補としては ・ SRFI-42 (https://srfi.schemers.org/srfi-42/srfi-42.html) ・ foof-loop (http://wiki.call-cc.org/eggref/5/foof-loop) ・ chibi loop (http://synthcode.com/s
cheme/chibi/lib/chibi/loop.html) が挙がっている。 まあまだちゃんと議論されてないので他の候補が出るかもしれないし、 結局何も入れないということもあるかもね。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/421
422: デフォルトの名無しさん [sage] 2021/07/15(木) 16:04:48.23 ID:MIyHkZEB アキュムレータ加えて末尾再帰で書くよりはdoを好むわ ロジックとしては全く等価だし、見やすい方がいい http://mevius.5ch.net/test/read.cgi/tech/1531587928/422
423: デフォルトの名無しさん [sage] 2021/07/15(木) 16:12:57.83 ID:MIyHkZEB loopキーワードは:を付けてlisp keywordにすればビジュアル的に随分見やすくなるね ところでloopの独特の言い回しはAlgol由来だと最近知った、downtoとか esacやfiまで取り入れてたら投げ捨てるけど http://mevius.5ch.net/test/read.cgi/tech/1531587928/423
424: デフォルトの名無しさん [sage] 2021/07/15(木) 16:15:28.68 ID:MIyHkZEB >>412 sbclが内部でnlet使ってるね ::で参照したりコピペしたりしてるわ やっぱclに入れた方が良かったな http://mevius.5ch.net/test/read.cgi/tech/1531587928/424
425: デフォルトの名無しさん [sage] 2021/07/15(木) 16:34:32.82 ID:zKeMNTWP loopしなくてもdestructuring bindやwithの為にloop使うのは我ながら良くないと思う 値を集める節がハマると簡潔に書けるのでつい http://mevius.5ch.net/test/read.cgi/tech/1531587928/425
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 431 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s