バージョンを言語要素に持つプログラミング言語の開発
バージョンを言語要素に持つプログラミング言語の開発
批准号:
22KJ1313
负责人:
田辺 裕大
金额:
$0.9万
依托单位国家:
日本
项目类别:
Grant-in-Aid for JSPS Fellows
财政年份:
2023
资助国家:
日本
项目状态:
已结题
起止时间:
2023-03-08 至 2024-03-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
交付申請書で挙げた3つの項目について以下の成果を得た。項目Ⅰ「コア言語の設計」コア言語λVLの体系を変更し、型安全性の言明を洗練させた。本成果は萌芽的な研究アイデアと共に<Programming>2023で発表した。項目Ⅱ「現代的言語機能の提案言語への導入」(オブジェクト指向言語)提案機能を持つオブジェクト指向言語BatakJavaを設計した。BatakJavaではバージョニングの対象はクラス定義である。型検査機は各クラスの持つバージョン情報を収集し、特定のバージョン向けのJavaクラスへとコンパイルする。BatakJava言語処理系を拡張可能JavaコンパイラExtendJを用いて実装し、事例研究を行った。本成果はSLE2023で発表された。また、BatakJavaの柔軟性を向上させるためのアイデア・応じたコンパイル手法の拡張のアイデアをPPL2023で発表した。(関数型言語)Haskellのサブセットを提案機能で拡張した言語VLを設計した。VLではバージョニングの対象はモジュールである。各式の外部モジュールへの依存性はインターフェースに集約され、モジュール外に提供される。また検討を行った結果、当初の計画とは異なり、提案機能とパターンマッチに相互作用があることが明らかになった。本成果はVL言語処理系として実装され、現在執筆中の論文に纏め2023年末の国際会議に投稿予定である。項目Ⅲ「既存言語のプログラミングと提案手法の接続」既存の関数型言語プログラムから式レベルの依存性情報を含むインターフェースを自動生成する手法Bundlingを提案した。Bundlingは各バージョンのトップレベル式の持つバージョン情報を集約する。本成果はCOP2023で発表しVL言語の言語処理系の一部として実装された。本成果は現在執筆中の論文に纏め、2023年末の国際会議に投稿予定である。
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
A Functional Programming Language with Versions
具有版本的函数式编程语言
DOI:
--
发表时间:
2023
期刊:
影响因子:
--
作者:
[Yudai Tanabe, Luthfan Anshar Lubis, Tomoyuki Aotani, Hidehiko Masuhara]
通讯作者:
Hidehiko Masuhara
BatakJava: An Object-Oriented Programming Language with Versions
BatakJava:一种具有版本的面向对象编程语言
DOI:
--
发表时间:
2022
期刊:
影响因子:
--
作者:
[Luthfan Anshar Lubis, Yudai Tanabe, Tomoyuki Aotani, Hidehiko Masuhara]
通讯作者:
Hidehiko Masuhara
海外基金