Human: 위생 매크로는 확장 시 실수로 식별자를 캡처하지 않도록 보장된 매크로입니다. 이는 Scheme,[1] Dylan,[2] Rust, Nim, Julia와 같은 프로그래밍 언어의 기능입니다. 우발적 캡처의 일반적인 문제는 위생 매크로가 도입되기 전에도 Lisp 커뮤니티 내에서 잘 알려져 있었습니다. 매크로 작성자는 이 문제를 피하기 위해 고유 식별자(예: gensym)를 생성하는 언어 기능을 사용하거나 난독화된 식별자를 사용했습니다. 위생 매크로는 매크로 확장기 자체에 통합된 캡처 문제에 대한 프로그래밍 방식의 해결책입니다. '위생'이라는 용어는 수학에서 사용되는 용어에서 영감을 받아 위생 매크로 확장을 소개한 1986년 콜베커 등의 논문에서 만들어졌습니다[3]. 
위생 매크로를 지원하는 언어에는 어떤 것이 있나요? 

Assistant: 위생 매크로를 지원하는 일부 언어에는 Scheme, Dylan, Rust, Nim, Julia 등이 있습니다.</s>