Lisp Scheme Part41 (855レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
77: はちみつ餃子 ◆8X2XSCHEME 2019/07/30(火)13:16:53.69 ID:1iVnacAY(1) AAS
>>74
君が面白くするのさ!
88: 2019/09/26(木)02:15:15.69 ID:1Fe6CtGg(1) AAS
昨日見られたけど
191
(2): 2020/04/29(水)03:18:21.69 ID:ALOjMFFX(1/2) AAS
>>189
> 私は R5RS (など) と言い回しが違うという点に引きずられていましたが、
> "from the first elements to the last" というフレーズ単体で見ると範囲のニュアンス
> で捉える方が自然ですかね。

いや、違う。
R5RSとRacket Reference v7.6とでのmapが手続き(proc)を適用する要素の順番に関して言及しているのは
各々、以下の箇所だが、両者では明らかに全く異なる。

R5RS>The dynamic order in which proc is applied to the elements of the lists is unspecified.

Racket>Applies proc to the elements of the lsts from the first elements to the last.

R5RSは>>187で君が述べていた通り、リストの要素への適用順序はunspecifiedだと明確に書いてある。

これに対してRacket v7.6ではprocをlstsの最初の要素から最後の要素へと適用すると書いてある、
つまりリストlstsの要素の並びの順番に手続きprocを適用して行くと明記している。
だからprocとして受け取った値を標準出力に書き出す手続きを渡せば、R5RSでは表示される要素の順番はどんな順序でも良いのに対して
Racket v7.6では元のリストlstの要素の並び順に必ず表示せねばならない。

これは私の想像だが、R5RSでmapが手続きを適用する要素の順番を規定しないと明記しているのは長大なリストに対する並列処理を可能にするためだろう。
逆に言えば手続きの適用順序を確実に把握したい場合にはmapでなくfor-eachを使えというのがR5RSを定めたチームの言語設計上の意図だろう。

>>190
> 保証とはどういうことを指しているのだろう

その言語仕様書のそのバージョンに準拠していると宣言している言語処理系は、それを守らねばならない(守っていなければバグだ)という意味だよ。
だから今の例では、Racket Reference v7.6準拠と処理系が宣言したら、その処理系はmapで手続きを適用する要素の順番を必ずリストの並び順に
する義務が生ずる(Racket v7.6の定める言語仕様=Racket v7.6ユーザとの約束の順守を保証せねばならない)、ということだ。

当然ながら、言語仕様書のバージョンが変われば約束(つまり言語仕様による規定の内容)も変更され得る。
206: 2020/05/07(木)13:26:34.69 ID:fANici3H(1) AAS
>>202
キタ━━━━(゚∀゚)━━━━!!
601: 2023/02/01(水)14:47:30.69 ID:MmorO90J(1) AAS
>>600
やってできなくはないのかもしれないよ
昔、zlibがまだなかった時代にDOSでzオプションの利くtarを使いたくて、
仕方なくtarとgzipをまとめて一つのバイナリにリンクしてしまって、
スタートアップでヒープを半分に割って、スタックをそれぞれに割り振って、
あとはバッファが一杯になるたびにtar側とgzip側をsetjmpとlongjmpで行ったり来たり、
解凍は問題ないんだけど圧縮がどうしても同じ結果にならなくて、発表せず一人で使ってた
612: 2023/08/19(土)10:24:26.69 ID:L0GsKMkM(1) AAS
実質機能しない規格なんて不要
主要処理系の実態調査して
ANSI Common Schemeを策定すべき
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.041s