`KEYWORD` — 키워드 타입

KEYWORD — 키워드 타입

커먼 리스프에는 심볼(symbol)을 담는 객체가 있는데, 그중에서도 특별하게 취급되는 패키지가 있어요. 바로 KEYWORD 패키지죠. 흔히 콜론을 앞에 붙여서 :foo처럼 쓰는 그 심볼들이 바로 키워드 키워드(keyword)예요.

출처: Common Lisp HyperSpec — Type KEYWORD

본문

keyword 타입은 KEYWORD 패키지에 intern된 모든 심볼을 포함하는 타입이에요.

슈퍼타입

keyword, symbol, t

설명

심볼을 KEYWORD 패키지에 intern하면 다음 세 가지 효과가 자동으로 생겨요.

  1. 그 심볼이 자기 자신에 바인딩(bound) 되게 해요.
  2. 그 심볼이 KEYWORD 패키지의 외부 심볼(external symbol)이 돼요.
  3. 그 심볼이 상수 변수(constant variable)가 돼요.

즉 키워드는 자기 자신을 값으로 갖는 이른바 "자체 평가(self-evaluating)" 심볼이라서, 함수 호출의 키워드 인자처럼 어디서든 그냥 :name처럼 쓸 수 있어요. 값이 항상 자기 자신이라서 별도로 변수 바인딩을 신경 쓸 필요가 없죠.

함께 보기

  • keywordp — 객체가 키워드인지 검사하는 술어 함수