Scheme의 위생적인 매크로 심층 분석
2025-05-08
Scheme의 매크로 시스템은 매크로 전개 시 변수 이름 충돌을 방지하기 위해 '위생적인' 메커니즘을 사용합니다. 이 글에서는 Scheme에서 식별자의 개념을 심층적으로 살펴봅니다. 식별자는 심볼 이름뿐만 아니라 어휘적 컨텍스트와 역사적 컨텍스트도 포함합니다. 술어 `bound-identifier=?`와 `free-identifier=?`는 식별자의 동등성을 비교합니다. 전자는 매크로 전개 후 바인딩된 식별자의 교환 가능성에 중점을 두고, 후자는 자유 식별자의 교환 가능성에 중점을 둡니다. 이 글에서는 여러 가지 예를 통해 이 두 동등 관계의 차이점과 위생적인 매크로 메커니즘에서 역사적 컨텍스트의 역할을 보여줍니다. 결론적으로 Scheme이 식별자의 이력 정보를 사용하여 매크로의 위생성을 보장하고 변수 이름 충돌을 방지하는 방법을 설명합니다.
개발
위생성