著者
五味 弘 伊藤 丹二 長坂 篤
雑誌
全国大会講演論文集
巻号頁・発行日
vol.39, pp.1346-1347, 1989-10-16

LispマシンELISは、インタプリタの高速実行に重点を置いたアーキテクチャであるが、コンパイル・コードはバイトコードの解釈によって実行され、実行速度の点から改良の余地があった。我々は現在ELIS 8200上にCommon Lispのコンパイラを開発しており、レジスタマシン化、バイトコードの改良、広域最適化等によりコンパイルコードの高速化を行った。本稿ではELIS最適化コンパイラの構成とバイトコードについて述べる。
著者
岸田 克己
雑誌
全国大会講演論文集
巻号頁・発行日
vol.42, pp.91-92, 1991-02-25

Common Lispではステッパ等のデバッグツールの組込みを可能とするために、evalhook, applyhookといったスペシャル変数を規定している。インタプリタは、再帰的に処理を進めるその過程毎に,これらの変数の値を探索し、その探索結果に応じてフック関数の呼出しを制御する(フック機構)。ところが「深い束縛(deep binding)」方式においては変数探索は重い処理であるため、フック機構を"素朴に"実装した場合、インタプリタの性能は著しく低下する。本稿では、「深い束縛」を採用したELIS CommonLispで用いられた、処理系の動作と密接な関係にある変数を、効率良く参照するための手法について述べる。
著者
高田 久靖 鶴巻 宏治
雑誌
全国大会講演論文集
巻号頁・発行日
vol.42, pp.232-233, 1991-02-25

新ELIS(ELIS8200)は実用的な記号処理ソフトウェアの開発実行マシンとして開発されたLispマシンである。新ELIS上では、TAO/ELISのマルチパラダイム性を受け継ぎつつ、Common Lispに完全に準拠したELIS Common Lispが実現されている。本稿ではELIS Common Lispのプログラム開発支援系(以下、開発支援系)の設計方針・機能を述べると共に、複数のプログラミングパラダイムを含む融合型プログラムの実行追跡機構の実現法について報告する。
著者
立木 秀樹
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.34, no.5, pp.954-962, 1993-05-15

最近、Common Lispにオブジェクト指向の機能を付け加えた言語CLOSが広まりつつある。CLOSでは、総称関数を用いて、オブジェクト指向のメッセージ送信を一種の関数呼び出しとして実現している。しかし、CLOSの総称関数は、Lispの関数とは別物であり、Lispの基礎に存在する関数型言語の計算機構を総称関数に拡張しているわけではない。そのためには、λ計算がLispの理論的墓礎であるのと同様、総称関数を関数とする形式計算を考える必要がある、本論文では、そのような形式計算として、レコードとマージ・オペレータを型つきλ計算に付け加えた計算λmを提案する。λmは、総称関数の動作を関数型言語の枠組でモデル化している。λmのレコードはCLOSのオブジェクトに、関数は総称関数に対応する。レコードのマージはレコードの結合に、関数のマージはCLOSのメソッド融合に対応している。λmは、簡約による型の保存等形式計算としてよい性質を持ち、表示的意昧がドメイン上で構成可能である。その際、マージは上限操作として意味が付けられる。
著者
湯浦 克彦 船津 隆 高橋 久
雑誌
全国大会講演論文集
巻号頁・発行日
vol.39, pp.1354-1355, 1989-10-16

オブジェクト指向は、Smalltalk以来いくつかの言語が提案されている。その中でCLOS(Common Lisp Object System)は、多重継承、メソド結合に特徴があり、これらを用いた差分プログラミングにより効率良くプログラムを作成することを目指したものと言えよう。本稿では、CLOSによる差分プログラミングの実験、分析と従来のCommon Lispでの記述との比較を述べる。

1 0 0 0 CLOSの実現

著者
景山 辰郎 河津 祐子 高橋 陽徳 佐治 信之
雑誌
全国大会講演論文集
巻号頁・発行日
vol.42, pp.73-74, 1991-02-25

筆者らは,Common Lisp上のオブジェクト指向言語拡張であるCLOSを実現した.本稿では,はじめにの基本的なCLOSオブジェクトの構造について述べる.次に,処理系の実行効率の向上を主眼にメソッドの適用について述べる.次に,CLOSの振舞いを決定するメタオブジェクトプロトコルについて述べる.
著者
岸田 克己 杉村 利明
雑誌
全国大会講演論文集
巻号頁・発行日
vol.39, pp.1342-1343, 1989-10-16

我々は、ELIS 8200シリーズハードウェア上に、単一Lisp空間での多重プロセスを可能とするCommon Lisp処理系の実装を行っている。ELIS Common Lisp処理系の設計にあって、コンパイルドコードの実行速度と、開発環境としてのインタプリタを重視した。本稿では、インタプリタでの実行速度向上を目的としたソースプログラムの前処理について述べる。
著者
杉村 利明 岸田 克己
雑誌
全国大会講演論文集
巻号頁・発行日
vol.42, pp.95-96, 1991-02-25

AI技術は、実用化の時代を迎え適用領域の拡大が望まれている。最近では、監視システムや制御システムなどの実時間処理を伴う分野で、AI技術の応用(リアルタイムAI)に対する重要性が認識されている。従来から、AIシステムの多くが、プログラミングのしやすさからLisp言語を使っている。しかし、Lisp言語は、ガーベジコレクション(GC)のためにプログラムが停止してしまうことが重大な欠点であるとされてきた。特に、実時間処理を伴う処理では、致命的な欠点になる。そこで、この問題点に対処するため、GCによるプログラムの停止を抑止することができるGCフリーコーディングを提案し、このための支援機能を実現した。本機能は、ELIS-82O0のELIS Common Lispに搭載されている。本稿では、並列GCとGCフリーコーディングの違い、GCフリーコーディングの支援機能と実現法について述べる。
著者
竹内郁雄
雑誌
情処学記号処理研報
巻号頁・発行日
pp.24-8, 1984
被引用文献数
1
著者
竹内郁雄
出版者
共立出版
雑誌
bit
巻号頁・発行日
vol.20, no.1, 1988
被引用文献数
1
著者
大里延康 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.30, no.5, pp.596-604, 1989-05-15
被引用文献数
1

複合プログラミング・パラダイム言語TAOにおけるオブジェクト指向プログラミングの言語仕様とその評価について述べる.TAOは専用の記号処理計算機ELISのマイクロプログラミングを用い そのハードウェアによる支授を背景として 人工知能研究におけるプログラミングを強力に支援する高性能のプログラミング環境を提供することを目指している。特に 扱う問題に適したプログラミング・パラダイムをユーザが自由に選択できるようにすることを設計思想のひとつの柱として Lispをベースに 論理型プログラミング オブジェクト指向など さまざまなプログラミング・パラダイムを 言語の核の部分で融合させている.本論文では TAOの複合プログラミング・パラダイムの中で オブジェクト指向に関する部分の言語仕様を紹介し その実現技法を詳しく論ずる.また その速度性能の評価を行う.TAOのオブジェクト指向は インタプリタにおいてLispのみで書いたプログラムの性能に比べて遜色がなく 十分な実用性を持つことを示す.また 実際の応用プログラムの分析にもとづいて TAOオブジェクト指向の実現技法の妥当性についても考察を加える.
著者
竹内 郁雄 大里 延康
雑誌
全国大会講演論文集
巻号頁・発行日
vol.38, pp.885-886, 1989-03-15

メッセージ伝達式の評価において,メソッドが見つからないことを積極的な意味で使うことが可能である.本論文では,TAO/ELIS上で,端末と計算機の結合を仮想化するdetach/attach機能をインプリメントする際に,これがどう役立ったかについて報告する.
著者
竹内郁雄
雑誌
情報処理学会記号処理研究会
巻号頁・発行日
1990
被引用文献数
2
著者
山崎 憲一 奥乃 博 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.32, no.9, pp.1090-1101, 1991-09-15
被引用文献数
2

TAO は記号処理を伴う大規模なアプリケーションの記述のために開発されたマルチパラダイム言語であり 関数型 論理型 オブジェクト指向の3つのバラダイムから構成される本論文ではこのうち論理型パラダイムの機能と実現方法および他パラダイムとの融合方法について述べる本方式では 述語を関数の一種としたこと すべてのパラダイムのデータ構造を共通化したことなどによりこれまでの融合型言語に比べ より簡単にパラダイム間の相互呼び出しが可能となったまた実用性を重視して設計 実装しインタプリタで 10KLIPS コンパイラで 40KLIPS を達成した
著者
中村 昌志 天海 良治 山崎 憲一 吉田 雅治 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.94, no.3, pp.9-16, 1994-01-14

実時間記号処理カーネルTAO/SILENTのパッケージシステムについて述べる.言語TAOは記号処理専用マシンSILENT上でOSとしての役割を果たすため,一般的なプログラミング言語の機能の他に,OSの機能を併せ持つ.TAOのパッケージシステムでは,パッケージとシンボルの保護機能およびインクリメンタルリハッシュがOSの機能である.一般的にプログラミング言語の機能としては,パッケージパスによるパッケージの継承がCommon Lispと異なった特徴的なものとなっている.これらの機能を組合わせることにより多様な構造の名前空間を実現することができ,マルチユーザ環境や複数言語の共存などに対応できる.
著者
山崎 憲一 吉田 雅治 天海良治 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.40, no.6, pp.2743-2754, 1999-06-15
被引用文献数
2

本論文では Lispをべースとして論理型プログラミングを融合したマルチパラダイム言語TAOについて述べる. これまで研究されたきた融合型言語においては 純粋な関数型言語と論理型言語を融合するものが多かったが TAOではすべてのLispプリミティブと論理型プログラミングを利用できる. TAOでは Lispと論理型言語の実行機構の類似性に着目した融合を行う. ここで 実行機構の類似性とは 状態変数と論埋変数 関数呼び出しと述語呼び出し 大域的脱出とバックトラックなどを指す. たとえば catch/throwのような脱出とバックトラックには類似性があり バックトラックを大域脱出の一種と考えることができる. これにより バックトラックが Lispの大域脱出に関するさまざまなプリミティブを自然に利用できるようになる.This paper describes a Lisp-based multi-paradigm programming language TAO that incorporates a logic programming (LP) paradigm. Whereas previous multi-paradigm languages only supported purely functional and LP facilities, TAO supports all Lisp primitives as well as LP facilities. This amalgamation of Lisp and LP is done by making use of the similarities in their execution mechanisms, giving a natural semantics to the amalgamation. The similarities include state vs. logic variables, function vs. predicate calling, and non-local exit vs. backtracking. For example, the similarity between non-local exit (catch/throw) and backtracking enables backtracking to be regarded as a kind of non-local exit, so that backtracking can use all Lisp facilities which support non-local exit.
著者
竹内 郁雄
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D-I, 情報・システム, I-情報処理 (ISSN:09151915)
巻号頁・発行日
vol.84, no.6, pp.513-522, 2001-06-01

記号処理言語Lispの本質を現代の視点で見直し, コンピュータシステムに携わる人々が今後どのような技術課題に取り組むべきかについてLispにからめた形で論ずる.プログラミング言語の取捨選択は未来永劫(ごう)固定的なものではない.これまで長い間雌伏してきたLispに今大きな跳躍の機会がきていることを, やや楽観的な技術的観点で主張する.
著者
山崎 憲一 吉田 雅治 天海良治 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.42, no.7, pp.70-83, 2001-07-15

Lispに論理型言語の機能を融合する場合には,論理型言語特有の内部データ構造である未定義値(UNDEF)と,参照(REF)をどのように表現するかということが問題となる.本論文では,我々がTAO86およびTAOという2つの言語で採ったアプローチについて述べる.UNDEFには,必然的に構造データ中の「番地」という概念がともなうが,これをLispからどのように隠蔽するかがポイントとなる.TAO86では,UNDEFを即値とし,REFを処理系が自動的にたどる方法によって実装を行った.これにより言語が単純なものとなるが,いくつかのケースにおいては特有の問題を生じる.たとえば,REFやUNDEFを含む構造データの同一性を判定するために,アドホックな関数を必要とする.TAOでは同様の方法を採りつつも,論理変数を述語の値として返す関数型の機能,パターンマッチによる同一性の判定の機能などを用いて,これらの問題を解決する.また,本論文ではTAOのタグ割当てなど,実装の詳細についても述べる.Lisp can have much expressive power by incorporating logic-programming facilities. In this paper, we discuss implementation issues of this incorporation, especially for internal data representation such as undefined value (`UNDEF') and reference (`REF'). We designed two Lisp-based multi-paradigm programming languages, TAO86 and TAO, to solve these issues. In TAO86, UNDEF is a first-class immediate value, and REF is dereferenced by the system automatically. This solution is quite simple but did not have enough power to handle the whole set of data so that TAO86 provides some adhoc builtin functions. TAO, a thoroughly redesigned successor of TAO86, has new features such as functional predicates and pattern-matching mechanism that give an elegant solution of TAO86 issues. This paper also describes the implementation of internal data representation and data handling mechanisms in detail.