매크로
매크로 사용의 경험적 규칙
- 함수로도 가능한 기능이라면 매크로를 작성하지 않는 것이 좋다. 매크로는 문법적 추상화나 바인딩 구문 생성이 필요할 때 작성하자
- 매크로의 예제를 작성해두자
- 작성한 매크로의 예제를 직접 확장해보자.
- macroexpand, macroexpand-1, clojure.walk/macroexpand-all 등을 사용해서 구현한 매크로의 동작을 확인하자
- 작성한 매크로를 REPL에서 테스트해보자
- 복잡한 매크로는 가능하면 작은 함수들로 분리하자
매크로 정리
- 매크로는 클로저에서 메타 프로그래밍을 하는 방법이다
- 매크로의 이점은 간결한 코드, 반복된 패턴 제거, 언어 기능 생성이다
- 매크로의 힘이 강력하다는 것과 그것을 절제해서 사용해야 한다는 것을 보았다