28 private links
神秘ってよく見るとすげえむかつく漢字の並びしてんな。めっちゃプロプライエタリじゃん。
しょーもねー
WArN 俺はまるで人間静的解析ツールだ
『時載りリンネ!』著者のブログ。
続き……続きを読みてえ……
なので、現在のぼくがみなさんに申し上げられることは『時載りリンネ』はぼくにとってとても愛着のある作品であるということ、いつの日か続きを書きたいと思っていること
With batteries, motion sensors, and a microLED on board, Mojo lets me try out its first apps
ポインタとアドレスは別の型にすべきではないかという話。
それから、 dereference と offset 取得のコンテキストも演算子を別に用意することで明確に分離すべきという話。
近年の言語はポインタについて provenance の追跡等をしていたり、あるいはポインタサイズをアドレスサイズよりも大きくしてハードウェアによる検証用メタデータを埋め込むアーキテクチャ (CHERI) なども発生している。
このような状況では、ポインタはアドレスよりも多くの情報を持っているし、ポインタからアドレスへの変換も非自明なものになってくる。
とはいえアドレス (整数) による演算は依然として有用だ。
そこで、 dereference できるポインタと、メモリ上の位置を表現するアドレスを別のものにして、間に変換を用意してやるべきである。
また、型のフィールド等のオフセット計算の文脈が dereference の文脈と分離されていないため、フィールドのアドレスを計算するつもりの式が UB を引き起こしかねないなどの問題もある。
これについては、「特定のフィールドを参照する」ための演算子と「フィールドのオフセットを指定する」ための演算子を個別に用意してやることで、文脈の混乱が解消でき、 offsetof 系の機能にまつわる面倒な問題を解消できる。