2018 Fiscal Year Annual Research Report
A Higher-Order Programming Language for Bidirectional Transformations
Project/Area Number |
15K15966
|
Research Institution | Tohoku University |
Principal Investigator |
松田 一孝 東北大学, 情報科学研究科, 准教授 (10583627)
|
Project Period (FY) |
2015-04-01 – 2019-03-31
|
Keywords | プログラミング言語 / 関数プログラミング / 双方向変換 / 双方向プログラミング / 可逆プログラミング / 領域特化言語 |
Outline of Annual Research Achievements |
双方向変換は,通常の順方向の変換と,変換後のデータに対する更新を元データへと書き戻す逆方向の変換の二つからなる.双方向変換は,ビュー更新や異なる形式のデータの同期等に応用を持つ.双方向変換には通常の意味での高階双方向変換が存在しないことが知られており,これまで高階双方向変換プログラミング言語は知られていない.本研究の目的は,通常の高階関数を用いて双方向変換を組み合わせることが可能になるようなプログラミング言語の設計・実装である.
本年度は,国際会議European Symposium on Programming (ESOP)にて,高階双方向プログラミング言語HOBiTについて発表を行った.この言語ではユーザは高階関数を用いて双方向変換を組み合わせることによりより大きな双方向変換を現実的なコストで記述することが可能である.この言語の設計は,研究代表者らの過去の成果の一つApplicative Lensフレームワーク (ICFP 2015で発表)を元にしているが,これについてはジャーナル版がJournal of Functional Programmingに本年度採録された.また,国際会議Haskell Symposiumでおいて,研究代表者らの過去の成果であるFliPprシステム(ESOP 2013で発表)の埋め込み実装を示した.これまで,可逆/双方向プログラミング言語の高階抽象構文を用いた埋め込みはあまり知られていなかったが,本研究は一つのケーススタディを示した.また,前述のFliPprシステムについては,ジャーナル版がNew Generation Computingに本年度採録された.
また,学生との共同研究の成果がプログラミングおよびプログラミング言語ワークショップにて発表された.この成果は,双方向変換と関連が深い,量子プログラミング言語の埋め込み実装に関するものである.
|