Avatar
Avatar
Yuta Saito
ピッチ眺めてたら明示的なライフタイムパラメータのあたりで白熱してて全部読みきれなかった https://forums.swift.org/t/pitch-non-escapable-types-and-lifetime-dependency/69865/107
読んだ,面白かった
12:23 PM
提案してるモデルはRustより弱いけど、さらにその拡張としてnamed lifetimeというのを想定すると、
12:24 PM
それはRustで書けるパターンも書けるし、書けないパターンも書けてさらに強くなる
12:24 PM
それと、サンプル実装を見てみると、ユースサイトのコードでRustよりSwiftの方式の方が記述が少なくてノイズが減ってる いや、これは書き下してるだけで推論可能なのかなあ? (edited)
12:27 PM
ただRustのライフタイムが型パラメータ経由になってることでそれが表現の制約になってて、Swiftはそれを柔軟にコントロール可能になる
12:27 PM
これはJavaのジェネリクスとSwiftのプロトコルのassociatedtypeの関係に似てると思った
12:28 PM
named lifetimeの文法は見た目にもそれに似てる
12:31 PM
続く議論もめちゃ盛り上がってて重いな・・・