https://mstdn.nere9.help/@orange_in_space/110698764108611611
オレンジのこの説明だと「32bit整数型? 知るか! 32bit float型としてアクセスしてやる!」ってつまり情報無視での扱いも型安全って事になっちゃうからダメだね><;
あらゆる不都合な動作を「例外が飛びます」とか「終了コード127でプログラムが終了します」とかの “定義済の挙動/状態” へと飛ばしてしまえばそれは “型安全” な言語になるんだけど、それで? という話でしかない。
極論を言えば「未定義動作で必ず abort() する拡張されたC言語」みたいなものがあったらそれは型安全といえるはず。
で、サイレントに狂わなくなるのは確かにだいぶマシではあるが、所詮マシなだけなのよね
で、定義済の挙動であることはわかったけど、そもそも実行時に型エラーが出るようなプログラムを実行できてしまうのは本当に嬉しさ十分なんですか? というのが、開発者が向き合うべき本当の問題なのよ