세션 타입이 deadlock을 컴파일러 오류로 바꾸는 방법
세션 타입은 통신 프로토콜을 타입 시스템에 인코딩하여 코드가 실행되기 전에 메시지 전달 불일치를 컴파일러 오류로 변환한다.
데드락은 실행 시간 문제여야 한다. 그것이 데드락을 짜증나게 만드는 이유다. 코드는 깨끗이 컴파일되고, 테스트는 통과하며, 그런 다음 프로덕션에서 프로세스 A가 프로세스 B를 기다리고 프로세스 B가 프로세스 A를 기다리면서 멈춰 버린다. 세션 타입은 이를 뒤집는다. 프로세스 간 통신…