著者
渡辺 佳友 伊藤 貴康
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.94, no.79, pp.7-14, 1994-09-16

SchemeはLispの方言であり,コンティニュエーションをファーストクラスのオブジェクトとして扱うcall/ccを備えた関数型プログラミング言語である.この論文では,SchemeのサブセットであるCore Schemeに対してcall/ccを用いた繰返し的Schemeプログラムに基づくコンパイル法を提案する.call/ccを用いた繰返し的Schemeプログラムとは,再帰的な関数呼出しをlet文とcall/ccを用いて末尾再帰風に記述したプログラムである.この論文では,call/ccを用いた繰返し的プログラムによるコンパイルとCPS法によるコンパイルが,Core Schemeプログラムに対して同じコードを生成することを示す.
著者
新谷 義弘 長坂 篤
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.94, no.3, pp.33-40, 1994-01-14

Common Lisp第2版準拠の高速かつ高い移植性を持つ処理系であるTachyon Common Lispにおけるコンパイラの実現方式について述べる.本処理系は現在UNIXワークステーションOKI Station 7300(i860), SPARCstation(SPARC), HP-PAシリーズ700(PA-RISC),上で動作する.Tachyon Common Lispは実行速度を重視するため,従来から行なわれているTail Recursionの繰り返しへの変換などのLisp固有の最適化の他に,RISCプロセッサ特有の最適化を含む各種の高速化を行った.本論文は,Tachyon Common Lispのコンパイラにおける,高速化手法及びRISCプロセッサ特有のコンパイル手法について述べ,最適化技術の評価を行なう.また,今までに移植した3つのプロセッサに対する経験をもとにコンパイラの移植の際に留意すべき点について説明し,移植性の評価を行なう.
著者
前田 宗則 小中 裕喜 石川 裕 友清 孝志 堀 敦史
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.93, no.81, pp.17-24, 1993-09-17

本稿では,循環参照カウント方式(CRC)を基礎とする新しいGCアルゴリズムCRC_<IW>を提案する.CRCは,ポインタによる循環構造も含めた任意の使用不能なメモリブロック(オブジェクト)を回収可能なGC方式であるが,対象言語がコンビネータに制限されること,循環構造を管理するアルゴリズムが逐次的であることという二点により,並列マシン上の一般の高級言語にはそのまま適用できなかった.CRC_<IW>は,各オブジェクトに順序数を与えることで任意の言語に適用可能とし,複数のプロセスによって並列に循環構造を管理するようアルゴリズムを拡張している.さらに,分散メモリを持つ並列マシンにおいてGCによる通信オーバーヘッドを低減するために,参照を3タイプに分けて管理することと各参照に重みを与えることが考察される.
著者
小谷 善行
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.95, no.35, pp.25-32, 1995-03-24

論理的なプログラム表現において、記述の間に同値関係を定義することによりプログラム代数が構成できることを示す。われわれは、述語の引数がなく、述語をメタ述語という演算子で結合することにより表されるひとつの論理型プログラム表現LONGを提案した。これを用いてプログラム代数を構成する。同値関係として、強・弱二つの同値性を定めた。前者は、非決定的に得られる計算結果の順序を含めた式の等価性を意味し、後者は順序を含めない等価性を意味する。まず、メタ述語で結び付けられた表現の間での等価性を定義から証明することにより、公理的規則群を導き出し、メタ述語の代数的性質を明らかにした。次に、これら規則を式にほどこして式を変形する手順で二つの式の等価性を証明することにより、プログラム変換を厳密に行えることを実例で示した。実例としては探索アルゴリズムを用い、非決定的記述と手続き的記述が強い等価性を持つこと等を証明した。本表現の計算モデルとしての有用性を明らかにするとともに論理的、非決定的プログラム言語における代数的手法の一方向を与えた。
著者
岩井 輝男 中西 正和
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.93, no.52, pp.9-16, 1993-06-18

Lisp ServerはMach OS 3.0 と似ていて,単純な機能とLispインタプリタを備えたOSである.この基本となる考えはシンプルで,拡張性のあるカーネルの通信を持っている.この目的はすべてのOSの処理がカーネルを通してユーザプログラム(スレッド)間の通信で可能になるまで,OSの機能をカーネルの外に出すことである.極端に言えば,カーネルはユーザプログラム間の通信をサポートするだけとなる.このような思想のもとに設計したLisp ServerはMulti-User Multi-Threadであり,すべてのLispのセルを共有した,環境をユーザに与えるOSである.
著者
中村 昌志 天海 良治 山崎 憲一 吉田 雅治 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. 記号処理研究会報告
巻号頁・発行日
vol.94, no.3, pp.9-16, 1994-01-14

実時間記号処理カーネルTAO/SILENTのパッケージシステムについて述べる.言語TAOは記号処理専用マシンSILENT上でOSとしての役割を果たすため,一般的なプログラミング言語の機能の他に,OSの機能を併せ持つ.TAOのパッケージシステムでは,パッケージとシンボルの保護機能およびインクリメンタルリハッシュがOSの機能である.一般的にプログラミング言語の機能としては,パッケージパスによるパッケージの継承がCommon Lispと異なった特徴的なものとなっている.これらの機能を組合わせることにより多様な構造の名前空間を実現することができ,マルチユーザ環境や複数言語の共存などに対応できる.