플레이버(프로그래밍 언어)

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).
  • 공통 리스프 타입(심볼, 정수 등)에 특화된 메서드.
  • 디프스트럭트 타입에 특화된 메서드.
  • 클래스 슬롯

용어.

플레이버 용어
닫히다
학급
성분 플레이버전 슈퍼클래스
의존적 풍미 서브클래스
국소 성분 플레이버 다이렉트 슈퍼 클래스
국소 의존적 풍미 직접 서브클래스
범용 함수 범용 함수
복합법 효과적인 방법
메서드 옵션 메서드 한정자
사례 사례
인스턴스 변수 슬롯
플레이버 컴포넌트의 순서 클래스 우선순위 리스트

레퍼런스

  1. ^ Howard Cannon, Flavors: 객체 지향 프로그래밍에 대한 비계층적 접근법, Symbolics Inc, 1982.
  2. ^ 톰슨, 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.
  3. ^ 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.
  4. ^ 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.

추가 정보