역방향으로 메모리 안전을 검증하는 Valen 언어의 차별화된 차용 검사
Key Point
함수를 거슬러 올라가며 메모리 안전을 검증하는 방식은 기존 차용 검사기와 완전히 다른 접근이며, 루프 처리와 성능 면에서 전방향 순회보다 우월함을 보여준다.
핵심 요약
- Valen 언어는 함수를 역방향으로 순회하며 메모리 안전을 검증하는 독특한 차용 검사기(borrow checker)를 구현했다.
- Valen 컴파일러는 정적 타입 지정, 정적 그룹화, 그리고 역방향 검사 총 4개 단계로 함수를 컴파일한다.
- 단계 3의 정적 그룹화는 참조가 어떤 데이터 구조의 어디를 가리키는지 파악하며, 이 정보가 변수의 타입에 포함된다.