seed: Chez Scheme에 불변 동적 환경을 가진 `vau` 추가하기
Kernel 방언 Scheme의 확장인 Seed 프로젝트는 Chez Scheme에 불변(dynamic) 환경을 갖는 vau 연산자를 도입하여, 매크로와 절차의 통합을 실현합니다.
기존 vau의 동적 환경 변경 가능성이 컴파일 최적화를 방해하는 문제를 불변 환경으로 해결함으로써, 컴파일러가 정적 분석과 인라인 최적화를 수행할 수 있게 하였습니다.
Seed는 vau를 활용해 매크로와 함수 호출을 하나의 메커니즘으로 처리하며, 이는 별도의 매크로 언어나 문법 확장 없이도 평가 제어를 가능하게 하여 개발자 경험을 단순화합니다.
벤치마크 결과 Seed는 기존 Scheme 구현과 유사한 성능을 보이며, 매크로 시스템의 복잡성을 줄이면서도 효율적인 코드 생성을 달성함을 입증하였습니다.
이 프로젝트는 학술적 탐구와 개념 증명 차원에서 진행된 것으로, 실제 프로덕션 환경 적용 전에는 추가 검증이 필요합니다.