타입 COMPILED-FUNCTION — 컴파일된 함수
타입 COMPILED-FUNCTION — 컴파일된 함수
Common Lisp 함수는 인터프리터로 실행될 수도, 컴파일되어 실행될 수도 있어요. 그중 "컴파일된 상태"를 나타내는 타입이 바로 COMPILED-FUNCTION입니다. 어떤 함수가 이 타입에 속하는지 정리한 페이지예요.
슈퍼타입
compiled-function, function, t
본문 (Description)
어떤 함수가 컴파일된 함수(compiled-function) 인지 여부는 구현(implementation)이 판단할 수 있어요. 일반적으로 다음 두 조건을 만족하면 컴파일된 함수로 취급할 수 있습니다.
- 런타임에 확장해야 할 매크로 참조가 없고
- 로드 타임 값(load time value)에 대한 미해결 참조(unresolved reference)가 없을 때
컴파일의 맥락은 Section 3.2.2 (Compilation Semantics)에서 더 자세히 다뤄요.
그럼 실제로 어떤 함수들이 compiled-function 타입이 될까요? 대표적으로 다음과 같은 경우가 있어요.
compile-file로 컴파일된 파일 안에 어휘적으로(lexically) 정의가 나타나 있고, 그것을load로 로드한 뒤의 함수들compile함수가 생성한 함수들
물론 그 외의 함수들도 구현에 따라 컴파일된 함수 타입이 될 수 있습니다. 즉 "컴파일되었는가"는 구현이 어떻게 컴파일을 처리하느냐에 따라 판가름나는 개념이에요.
더 알아보기 (Learn more)
- 원문: Type COMPILED-FUNCTION
compile함수: Function COMPILE- 컴파일 의미론: Section 3.2.2
compile-file: Function COMPILE-FILEload: Function LOAD