Lisp Scheme Part41 (809レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
194: デフォルトの名無しさん [sage] 2020/04/29(水) 09:54:06.36 ID:sxS/u8Yc >>191 > 長大なリストに対する並列処理を可能にするためだろう 手続きの引数の評価順序については未規定ではあるものの "some sequential order of evaluation" という制約がついています。 https://docs.racket-lang.org/r5rs/r5rs-std/r5rs-Z-H-7.html#%_sec_4.1.3 ちょっとわかり難いんですが、これは「同時ではない (かのように動作する)」と解されるそうです。 たとえば (list (begin (display 'a) (display 'b) 1) (begin (display 'c) (display 'd) 2)) とあったときに表示は abcd か cdab のどちらかであり acbd だったり cabd だったりはしない ということです。 map についてはこういう制約は書かれてはいないものの、 順序は規定しないという文言は「既定はしないけどなんらかの順序を想定する」 とも読めなくもないので並列化を許しているとは言い切れない気がします。 副作用がないときに限っては並列化しても仕様に反しないのは間違いないですけど、 その場合は順序に関して有るとも無いとも書く必要がないんですよね。 どうせ観測できないので。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/194
195: デフォルトの名無しさん [sage] 2020/04/29(水) 12:39:32.81 ID:qQMMu/UY >>194 mapについては、まえからか、うしろからか好きな方で実装すればいいよ、程度のはなしだとおもってた。 継続を突っ込むとどうとかいうのがあったとおもうけどだれか解説pls http://mevius.5ch.net/test/read.cgi/tech/1531587928/195
199: デフォルトの名無しさん [sage] 2020/04/29(水) 23:11:18.94 ID:ALOjMFFX >>193 "from the first elements to the last"は最初の要素から最後の要素へだから当然ながらin orderの意味を含む もしも、上の表現を使ってin orderを保証しないことを意図する言語仕様があったら、 その言語仕様を書いた人間が英語(というよりも人間の使う言葉)の常識を知らないと言うべきレベルの代物 procの適用にin orderを保証したくないのならば"from the first elements to the last"などではなく、例えば “(map) Applies proc to every elements of the lsts exactly once”とでも書くべき というか、そもそもR5RSでのmapに関する表現をそのまま使えば良い >>194 なるほど、インターリーヴを起こしてはならない、ということですね 良い反例ですね、了解しました 確かにそれだと並列処理という話は排除されますね http://mevius.5ch.net/test/read.cgi/tech/1531587928/199
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s