XML Schema とか、あんなんネイティブのデータ構造に翻訳する気がしない (いや原理的には表現力めっちゃ高い型システムがあれば可能なんだけど、嫌すぎる)
validation は validation のロジック記述と割り切って、 validate された値のみを持つと (コンパイラでなく) 開発者が保証したオレオレ型を用意してやるというのがまあ実用上の妥協点で、そうなると検証を通ったデータを元にしていれば中の構造が必ずしも生データと一致している必要はないので、やっぱりそこに構造を別々にする境界を生やせる
@lo48576 MastodonやPleromaが新種の通知を実装したらアプリが落ちるやつだ
@tateisu そもそも I/O 境界で予期せぬデータが来ると落ちるというのが理解できないんですよね…… deserializer が普通に実行時エラーを返せば済む話で、そこからデフォルトメッセージなり「未知」という variant なりで妥協した扱いをするというのは普通にできると思うんですが (言語によっては面倒だったりするのかもですが)
@lo48576 ポケモンcatchだねそれ http://dotnsf.blog.jp/archives/1061565357.html