타입 지정자 EQL — eql

타입 지정자 EQL — eql

어떤 특정 객체와 eql한 값들만을 타입으로 잡고 싶을 때가 있죠. 예를 들어 "그 키워드 :foo 그 자체"만 허용하는 타입. 이럴 때 쓰는 타입 지정자가 바로 eql입니다.

출처: CLHS — Type Specifier EQL

복합 타입 지정자 (Compound Type Specifier)

  • Kind: Combining
  • 구문:
eql object
  • 인자:

    • object — 어떤 객체든.

본문 (Description)

eql 타입 지정자는 (eql object x)가 참인 모든 x의 타입을 나타냅니다. 정확히 말해, 인자 object와 값이 eql 관계인 값들만이 이 타입에 속하는 거죠.

여기서 규칙 몇 가지를 짚고 넘어갈게요.

  • object 인자는 필수입니다.
  • object*로 쓸 수는 있는데, 이때 *는 "미지정 값"을 뜻하지 않고 기호 * 그 자체를 가리킵니다. 즉 와일드카드가 아니에요.
  • eql 기호는 원자 타입 지정자(atomic type specifier)로는 유효하지 않습니다. 반드시 복합 타입 지정자 형태, 즉 (eql object)처럼 객체와 함께 나와야 해요.

더 알아보기 (Learn more)