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

この論文にアクセスする

この論文をさがす

著者

抄録

本論文では,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.

収録刊行物

  • 情報処理学会論文誌

    情報処理学会論文誌 43(1), 112-123, 2002-01-15

    一般社団法人情報処理学会

参考文献:  10件中 1-10件 を表示

  • <no title>

    日本Lispユーザ会

    Lisp User Group Meeting Japan, 2000

    被引用文献1件

  • <no title>

    STEELE G. Jr.

    Common Lisp the language, 1990

    被引用文献1件

  • <no title>

    BYERS G.

    Allegro Common Lisp Manual, 1987

    被引用文献1件

  • Object-Oriented Programming in Scheme

    ADAMS N.

    ACM Symp. on Lisp and Functional Programming, 277-288, 1988

    被引用文献1件

  • <no title>

    NOBLE J.

    Prototype-Based Programming: Concepts, Languages and Applications, 1999

    被引用文献1件

  • <no title>

    ABELSON H.

    Structure and Interpretation of Computer Programs, 1996

    被引用文献1件

  • <no title>

    吉田雅治

    新しい記号処理カーネルSILENTの設計, 1999

    被引用文献1件

  • <no title>

    KICZALES G.

    The Art of the Metaobject Protocol, 1991

    被引用文献13件

  • Dimensions of Object-Based Language Design

    WEGNER P.

    OOPSLA '87, 168-182, 1987

    DOI 被引用文献1件

  • An object orientation kernel

    YAMAZAKI K.

    Intl. Symp. on Object Technologies for Advanced Software 742, 61-76, 1993

    被引用文献3件

各種コード

  • NII論文ID(NAID)
    110002726227
  • NII書誌ID(NCID)
    AN00116647
  • 本文言語コード
    JPN
  • 資料種別
    Journal Article
  • ISSN
    1882-7764
  • NDL 記事登録ID
    6041014
  • NDL 雑誌分類
    ZM13(科学技術--科学技術一般--データ処理・計算機)
  • NDL 請求記号
    Z14-741
  • データ提供元
    CJP書誌  NDL  NII-ELS  IPSJ 
ページトップへ