플레이버(프로그래밍 언어)
Flavors (programming language)Lisp 머신과 그 프로그래밍 언어 Lisp 머신 Lisp를 위해 MIT 인공지능 연구소의 Howard Cannon이 개발한 Lisp의 객체 지향 확장 버전인 [1]Flavors는 믹스인을 [2]포함한 최초의 프로그래밍 언어였다.심볼릭스는 리스프(Lisp) 기계에 이 제품을 사용했고, 결국 새로운 플레이버로 개발했습니다. 원래 플레이버와 새로운 플레이버는 모두 OOO 모델을 전달하는 메시지였습니다.그것은 공통 리스프 객체 시스템(CLOS)[3]의 개발에 큰 영향을 미쳤다.
플레이버의 실장은 공통 [4]리스프에서도 이용할 수 있습니다.
New Flavors는 메시지 전송을 호출하는 범용 함수로 대체했습니다.
플레이버 서비스:before
그리고.:after
기본 메서드 조합을 사용하는 데몬(호출):daemon
).
맛과 CLOS 기능 비교
플레이버는 CLOS에는 없는 몇 가지 기능을 제공합니다.
- 포장지
- 메서드 내 변수를 사용하여 슬롯에 대한 사전 자동 액세스.
- 내부 플레이버 기능, 매크로 및 서브젝트.
- 자동으로 생성된 생성자.
DEFFLAVOR
옵션::required-methods
,:abstract-flavor
,:mixture
.SEND
메시지 전송 기능.
CLOS는 플레이버에는 없는 다음과 같은 기능을 제공합니다.
- 멀티 모드
- 개개의 오브젝트에 특화된 메서드(경유)
EQL
). - 공통 리스프 타입(심볼, 정수 등)에 특화된 메서드.
- 디프스트럭트 타입에 특화된 메서드.
- 클래스 슬롯
용어.
맛 | 닫히다 |
---|---|
맛 | 학급 |
성분 플레이버전 | 슈퍼클래스 |
의존적 풍미 | 서브클래스 |
국소 성분 플레이버 | 다이렉트 슈퍼 클래스 |
국소 의존적 풍미 | 직접 서브클래스 |
범용 함수 | 범용 함수 |
복합법 | 효과적인 방법 |
메서드 옵션 | 메서드 한정자 |
사례 | 사례 |
인스턴스 변수 | 슬롯 |
플레이버 컴포넌트의 순서 | 클래스 우선순위 리스트 |
레퍼런스
- ^ Howard Cannon, Flavors: 객체 지향 프로그래밍에 대한 비계층적 접근법, Symbolics Inc, 1982.
- ^ 톰슨, C. W., 로스, K. M., 테넌트, H. R. 및 R. Saenz, R. M. 1983의 페이지 46."데이터베이스에 대한 사용 가능한 메뉴 기반 자연 언어 인터페이스 구축"제9회 초대형 데이터베이스 국제회의의 속행(1983년 10월 31일~11월 2일)M. Scholnick과 C.타노스, 에드대규모 데이터베이스Morgan Kaufmann Publishers, 캘리포니아주 샌프란시스코, 43-55.
- ^ Symbolics(1985년)는 New Flavors(현재의 Java와 같은 메시지 전송 모델), Xerox는 CommonLoops, Lisp Machine Incorporated는 Object Lisp(Bobrow, 1986년), Hewlett-Packard는 Common Objects(Kemp, 1987년)를 사용하고 있습니다.두 그룹은 당시 Common Lisp에 대해 진행 중인 표준화 노력의 맥락에서 서로 경쟁했고 마침내 CommonLoops와 New Flavors에 기초한 표준을 정했습니다." Veitch 1998 페이지 108.
- ^ Allegro CL의 플레이버
- Veitch, Jim (1998). "A History and Description of CLOS". In Salus, Peter H. (ed.). Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages (1st ed.). Macmillan Technical Publishing. pp. 107–158. ISBN 1-57870-011-6.
추가 정보
- Moon, David A. (June 1986). "Object-Oriented Programming with Flavors" (PDF). Conference proceedings on Object-oriented Programming Systems Languages and Applications. OOPSLA '86. pp. 1–8. doi:10.1145/28697.28698. ISBN 978-0-89791-204-4. S2CID 17150741. Retrieved March 17, 2022.
- "Flavors, Technical Report", MIT 인공지능연구소, 캠브리지(매스), 1980년
- 다니엘 와인렙과 데이비드 A. 문, "플래버: 리스프 기계에서의 메시지 전달", A.I. 메모 No. 602, 1980년 11월, MIT AI Lab