Lispへのオブジェクト指向の自然な導入  [in Japanese] An Object-oriented Extension of Lisp  [in Japanese]

Access this Article

Search this Article

Author(s)

Abstract

本論文では,Lispでオブジェクト指向プログラミングを行うための,Lispの拡張について述べる.本論文で提案する言語TAOは,ポリシーとメカニズムを分離するという考えに基づいて設計されており,たとえば,クラスや継承といったポリシーは提供しない.TAOは,オブジェクト指向計算のための最小限のメカニズムと,ポリシーを構築するためのメカニズムだけを備える.メカニズムは,Lispの環境とラムダ式を自然に拡張することにより導入される.ユーザは,これらを用いてTAO上にさまざまなポリシーを構築できる.本論文では,一例として,単純継承と委譲の構築例を示す.また,実装についても述べ,評価を行い,TAOの提供するメカニズムがいずれも十分な性能を達成していることを示す.This paper describes an extension of Lisp to incorporateobject-oriented programming into Lisp.A symbolic processing languageTAO, proposed in this paper, is designed based on policy/mechanismseparation principle where mechanisms support essential primitives forobject-oriented computation and policies, such as class definition andinheritance, determines how mechanisms are managed.The mechanisms areintroduced naturally by extending the Lisp's concept of environmentand lambda expression.By using these mechanisms, a TAO user canconstruct his/her own policy, such as single inheritance and simpledelegation which are shown in this paper as an example.We describe theimplementation of TAO and evaluate it using some benchmark programs,and as a result, we show that these primitives are efficient enough.

This paper describes an extension of Lisp to incorporate object-oriented programming into Lisp. A symbolic processing language TAO, proposed in this paper, is designed based on policy/mechanism separation principle where mechanisms support essential primitives for object-oriented computation and policies, such as class definition and inheritance, determines how mechanisms are managed. The mechanisms are introduced naturally by extending the Lisp's concept of environment and lambda expression. By using these mechanisms, a TAO user can construct his/her own policy, such as single inheritance and simple delegation which are shown in this paper as an example. We describe the implementation of TAO and evaluate it using some benchmark programs, and as a result, we show that these primitives are efficient enough.

Journal

  • Transactions of Information Processing Society of Japan

    Transactions of Information Processing Society of Japan 43(1), 112-123, 2002-01-15

    Information Processing Society of Japan (IPSJ)

References:  10

Codes

  • NII Article ID (NAID)
    110002726227
  • NII NACSIS-CAT ID (NCID)
    AN00116647
  • Text Lang
    JPN
  • Article Type
    Journal Article
  • ISSN
    1882-7764
  • NDL Article ID
    6041014
  • NDL Source Classification
    ZM13(科学技術--科学技術一般--データ処理・計算機)
  • NDL Call No.
    Z14-741
  • Data Source
    CJP  NDL  NII-ELS  IPSJ 
Page Top