2017 Fiscal Year Research-status Report
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 |
双方向変換は,通常の順方向の変換と,変換後のデータに対する更新を元データへと書き戻す逆方向の変換の二つからなる.双方向変換は,ビュー更新や異なる形式のデータの同期等に応用を持つ.双方向変換には通常の意味での高階双方向変換が存在しないことが知られており,これまで高階双方向変換プログラミング言語は知られていない.本研究の目的は,通常の高階関数を用いて双方向変換を組み合わせることが可能になるようなプログラミング言語の設計・実装である.
本年度は,前年度作成した高階双方向プログラミング言語の設計をさらに洗練し,高階双方向プログラミング言語HOBiTを設計した.本言語はFosterらによるlens言語とほぼ同等の表現力を持ちながらも,通常の関数プログラミング言語に近いスタイルで双方向変換のプログラミングが可能であるという特徴を持つ.我々は,多段階計算の知見を利用し,プログラムの意味を平易で理解しやすいビッグステップ操作的意味論により与え,それに基づき,本言語により記述された双方向変換がwell-behavednessと呼ばれる性質を満たすことの証明を与えた.本研究の内容は2018年度に実施される国際会議 European Symposium on Programming (ESOP 2018)にて発表する予定である.
本言語はあくまでプロトタイプであるものの,高階関数や通常の関数プログラミングスタイルを用いることを可能とする高い記述性は,双方向変換を作成するためのプログラマの負担を大幅に下げ,より複雑な双方向変換を現実的なコストで記述するための大きなステップとなることが期待される.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
HOBiTは当初の目的の高階関数をサポートし,構造に対する更新を反映することができる双方向変換プログラミングの一つである.また,ESOPはプログラミング言語分野におけるコンペティティブな国際会議の一つであり(ESOP 2018は114件中36件採択),その成果はジャーナルなみの厳しい査読を経たものである.以上の理由から「おおむね順調に進展している」と判断した.
|
Strategy for Future Research Activity |
今後の発展の方向性としてはいくつか考えられる.その一つは,高階関数プログラミング言語HOBiTから,Haskell等の既存のプログラミング言語へのコンパイルである.現在のHOBiTの実装はインタプリタであり,その結果得られる双方向変換を他のプログラミング言語から直接利用することは不可能であった.もし,HOBiTプログラムから,Haskellの双方向変換プログラムを生成することができれば,言語の利便性はさらに向上することが期待される.
もう一つの方向性はさまざまなケーススタディである.HOBiTでは,通常の一方向の言語要素と双方向の言語要素が混在していて,高階関数などの一方向の言語要素を活用して双方向変換を組み合わせることが可能であるが,それら組み合わせを活用した関数プログラミング技法についてはまだあまり明らかになっていない.そのため,ケーススタディを用いて,高階双方向プログラミング技術を追求したい.
|
Causes of Carryover |
2017年度中に,2018年度4月および12月に国際会議やセミナーのために出張する必要があることが判明したため,本年度ではなく翌年度に使用することにした.
|