session-typesdeadlockscompile-timeprotocols セッション型がデッドロックをコンパイルエラーに変える方法 セッション型は通信プロトコルを型システムにエンコードし、コードが実行される前にメッセージパッシングの不一致をコンパイルエラーに変える。 デッドロックは実行時の問題であるはずだ。だからこそ厄介なのだ。コードはきれいにコンパイルされ、テストも通過し、そしてプロダクションでプロセスAがプロセスBを待ち、プロセスBがプロセスAを待つために動きを止めてしまう。… 2026年8月9日