TaPL読書録 #10
前回:
番号がやたらとんでるのは、勉強会はつつがなく開催されていたのですが僕が書くのをめんどくさがっていたら書かれなかったという回がたくさんあるからです。
今回は chap13最初-13.3まで。勉強会の slack があるのですが、TaPLチャンネルではなぜか Rust の話しかしておらず、当日の様子が全く振り返れず謎です。
いままで純粋な言語機能しかなかったが、今回からは純粋でないものを扱う。chap13では特に参照について話す。
p.120 オブジェクト
の話があるが、「副作用を及ぼす関数のかたまり」として定義しているような印象を受けた
p.121 ぶらさがり参照 = dangling reference
「明示的な解放操作のもとでは、型安全性の達成が極めて困難になる」
p.122
非解釈の集合Lをストアでの位置の集合とし
ここでいう「非解釈の」は、集合の要素の並びとか型とかそういうのは気にしないぜ、くらいの意味合いで言っていると思われる。
中段
...がストアμを変更せずに返すことに注意されたい。関数適用は、それ自体は何の副作用も起こさない。
t の操作はすべて純粋な操作であり、ここでは副作用とはμに対する変更として表されている。
脚注
例えばストアについて、位置nがFloatを保持しているという事実は、位置n+4の方について有用な情報を何も与えない。」
それをプログラマに任せているという話であり、人間はよく自分の足を撃つのであった……。
次回 chap 13 終わりまで。