Lisp Scheme Part41 (809レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
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/scheme/chibi/lib/chibi/loop.html) が挙がっている。 まあまだちゃんと議論されてないので他の候補が出るかもしれないし、 結局何も入れないということもあるかもね。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/421
426: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/15(木) 17:45:11.96 ID:d93moyXm 慣れた Scheme ユーザーなら末尾呼出し (末尾再帰) になっているかどうかは空気のように判断できるけど、 do で書けるものなら do で書いたほうがそういう判断をする必要さえないわけで、 なるべく抽象度の高い構文 (または手続き) を使うに越したことはない。 大事なのは抽象化で、繰り返しをしているところなら繰り返しに見えるように書くのが筋だろ。 (繰り返しに do という名前を当てるのがどうなんだ……とも思うけど Fortran 由来らしい。) そういう意味では >>425 が loop をループ以外の用途に使うのは確かに良くは無いんだが、 場合によってはそういうのもイディオムとして定着していることがあるから 意味に忠実にするために冗長になるくらいならイディオムに頼るほうが「わかりやすい」場合もある。 どちらがいいというわけでもなくて全体の匙加減だから難しいよね。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/426
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s