自己反映(リクレクティブ)言語のセマンティクスと部分評価による効率的実現
自己反映(リクレクティブ)言語のセマンティクスと部分評価による効率的実現
批准号:
07780231
负责人:
浅井 健一
金额:
$0.58万
依托单位:
依托单位国家:
日本
项目类别:
Grant-in-Aid for Encouragement of Young Scientists (A)
财政年份:
1995
资助国家:
日本
项目状态:
已结题
起止时间:
1995 至 --
中文摘要
自己反映計算(Reflective Computation)とは、計算中にその計算システム自体の状態を参照、操作できるような計算のことである。本研究では、そのセマンティクスの明確化、及び効率的実現を目指して、以下の3点を行なった。1.既に作成していたインタプリタをさらに詳細に検討・整理することで、その構造をより明らかにした。具体的には、コードが直接実行されるものと解釈実行されるものとに分類され、それぞれが効率的なインタプリタと柔軟性の高いインタプリタに対応していることを示した。その上で、効率を損なわない範囲で解釈実行されるコードを導入することが、柔軟性の高い効率的な自己反映言語には重要であることを示した。2.自己反映言語を柔軟性を保ちつつ効率的に実現するためには、解釈実行される部分に部分評価器を使うことが必要であることを示した。さらに、実際にどの部分を部分評価すれば良いのかを抽出し、部分評価器が種々の副作用命令、特に入出力型とデータ構造への破壊的代入型の副作用を扱える必要があることを示した。3.実際に部分評価器を使って自己反映言語をコンパイルするため、副作用を含む関数型言語に対する部分評価器の作成法を検討した。このうち、入出力型の副作用に関しては、履歴付記号値を使うことで扱えることを示し、実装した。データ構造への破壊的代入については、破壊リストを導入することで安全に扱えることを示し、実装した。これをより強力なものとし、実際に自己反映言語のコンパイルに使っていくのは、今後の研究課題である。また、副作用命令のうち変数代入については、エイリアスに関して困難な問題が存在することを発見した。変数代入は自己反映言語側では必ずしも必要ないが、この問題の解決も今後の課題である。
英文摘要
自己反映計算(Reflective Computation)とは、計算中にその計算システム自体の状態を参照、操作できるような計算のことである。本研究では、そのセマンティクスの明確化、及び効率的実現を目指して、以下の3点を行なった。1.既に作成していたインタプリタをさらに詳細に検討・整理することで、その構造をより明らかにした。具体的には、コードが直接実行されるものと解釈実行されるものとに分類され、それぞれが効率的なインタプリタと柔軟性の高いインタプリタに対応していることを示した。その上で、効率を損なわない範囲で解釈実行されるコードを導入することが、柔軟性の高い効率的な自己反映言語には重要であることを示した。2.自己反映言語を柔軟性を保ちつつ効率的に実現するためには、解釈実行される部分に部分評価器を使うことが必要であることを示した。さらに、実際にどの部分を部分評価すれば良いのかを抽出し、部分評価器が種々の副作用命令、特に入出力型とデータ構造への破壊的代入型の副作用を扱える必要があることを示した。3.実際に部分評価器を使って自己反映言語をコンパイルするため、副作用を含む関数型言語に対する部分評価器の作成法を検討した。このうち、入出力型の副作用に関しては、履歴付記号値を使うことで扱えることを示し、実装した。データ構造への破壊的代入については、破壊リストを導入することで安全に扱えることを示し、実装した。これをより強力なものとし、実際に自己反映言語のコンパイルに使っていくのは、今後の研究課題である。また、副作用命令のうち変数代入については、エイリアスに関して困難な問題が存在することを発見した。変数代入は自己反映言語側では必ずしも必要ないが、この問題の解決も今後の課題である。
期刊论文(3)
专著(0)
科研奖励(0)
会议论文
Kenichi Asai, Hidehiko Masuhara Satoshi Matsuoka, Akinori Yonezawa: "Partial Evaluator as a Compiler for Reflective Languages" 東京大学 理学部 情報科学科 テクニカルレポート. 95-10. 1-14 (1995)
Kenichi Asai、Hidehiko Masuhara Satoshi Matsuoka、Akinori Yonezawa:“作为反射语言编译器的部分评估器”技术报告,东京大学理学院信息科学系 95-10 (1995)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
浅井健一,増原英彦,米澤明憲: "副作用を含む関数型プログラムの部分評価に向けて" 情報処理学会研究報告. 95-PRO-4. 51-56 (1995)
Kenichi Asai、Hidehiko Masuhara、Akinori Yonezawa:“对包括副作用在内的功能程序进行部分评估”日本信息处理学会研究报告 95-PRO-4 (1995)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
Kenichi Asai, Satoshi Matsuoka Akinori Yonezawa: "Duplication and Partial Eualuation-For a Better Undestanding of Refleetive Langnages-" Lisp and Symbolic Computation (kluwer Academic Publishers). (掲載予定). (1996)
Kenichi Asai、Satoshi Matsuoka Akinori Yonezawa:“复制和部分求值 - 为了更好地理解反射语言 -”Lisp 和符号计算(kluwer 学术出版社)(待出版)。
DOI:
--
发表时间:
期刊:
影响因子:
--
作者:
[]
通讯作者:
ブロックプログラミング環境に基づく学習支援環境の構築とその有効性
-
批准号:20K12107
-
项目类别:Grant-in-Aid for Scientific Research (C)
-
资助金额:$2.75万
-
财政年份:2020
-
负责人:浅井 健一
-
依托单位:
部分評価組み込みコンパイラの作成とその応用
-
批准号:15700025
-
项目类别:Grant-in-Aid for Young Scientists (B)
-
资助金额:$1.41万
-
财政年份:2003
-
负责人:浅井 健一
-
依托单位:
部分評価を使った自己反映言語のコンパイル技法
-
批准号:09780251
-
项目类别:Grant-in-Aid for Encouragement of Young Scientists (A)
-
资助金额:$1.28万
-
财政年份:1997
-
负责人:浅井 健一
-
依托单位:
副作用を含む関数型言語の部分評価
-
批准号:08780244
-
项目类别:Grant-in-Aid for Encouragement of Young Scientists (A)
-
资助金额:$0.64万
-
财政年份:1996
-
负责人:浅井 健一
-
依托单位:
海外基金