Valen의 borrow checker는 함수를 거꾸로 훑는다
A new way to think about borrow checking (in reverse)
Valen 언어의 새로운 borrow checker는 안전성 검사를 함수의 마지막 문장에서 시작해 위로 거슬러 올라가며 수행한다. 컴파일러가 USE된 변수를 pending 목록에 추가하고, MUTATE를 만나면 그 변수가 무효화되는지 확인하며, DECLARE에서 목록에서 제거하는 방식이다. 저자는 이 역방향 검사가 편의성, 루프 처리, 속도 측면에서 유리하다고 설명하며, 다른 borrow checker 사례를 알고 있다면 피드백을 요청한다.
내가 아는 한, 안전성 검사를 거꾸로 수행하는 유일한 borrow checker다.