Session types 確實有效。只是多數語言拒絕實作它們。
Session types 將通訊protocol編碼進型別系統,把執行期protocol錯誤變成編譯期失敗。以下是它們為何在研究論文裡待了三十年,才終於能進入正式產品程式碼。
Session types 發明於 1993 年。三十年後,大多數網路服務仍然用手寫的執行期檢查來驗證protocol狀態,如果它們會驗證的話。你的型別系統對於用戶端是否在 之前就傳送 ,或者是否因為有人忘了關閉連線而導致連線洩漏,完全無從置喙。 研究社群數十年前就有了對策。這從來不是理論問題。問題在於…