• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2018 Fiscal Year Annual Research Report

A Higher-Order Programming Language for Bidirectional Transformations

Research Project

Project/Area Number 15K15966
Research InstitutionTohoku 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に本年度採録された.

また,学生との共同研究の成果がプログラミングおよびプログラミング言語ワークショップにて発表された.この成果は,双方向変換と関連が深い,量子プログラミング言語の埋め込み実装に関するものである.

  • Research Products

    (13 results)

All 2018 Other

All Int'l Joint Research (1 results) Journal Article (4 results) (of which Int'l Joint Research: 4 results,  Peer Reviewed: 4 results,  Open Access: 1 results) Presentation (3 results) Remarks (5 results)

  • [Int'l Joint Research] ブリストル大学(英国)

    • Country Name
      UNITED KINGDOM
    • Counterpart Institution
      ブリストル大学
  • [Journal Article] Applicative bidirectional programming2018

    • Author(s)
      Kazutaka Matsuda, Meng Wang
    • Journal Title

      Journal of Functional Programming

      Volume: 28 Pages: 1~49

    • DOI

      10.1017/S0956796818000096

    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] FliPpr: A System for Deriving Parsers from Pretty-Printers2018

    • Author(s)
      Kazutaka Matsuda, Meng Wang
    • Journal Title

      New Generation Computing

      Volume: 36 Pages: 173~202

    • DOI

      10.1007/s00354-018-0033-7

    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] HOBiT: Programming Lenses Without Using Lens Combinators2018

    • Author(s)
      Kazutaka Matsuda, Meng Wang
    • Journal Title

      Programming Languages and Systems - 27th European Symposium on Programming, ESOP 2018,

      Volume: なし Pages: 31~59

    • DOI

      10.1007/978-3-319-89884-1_2

    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Embedding invertible languages with binders: a case of the FliPpr language2018

    • Author(s)
      Kazutaka Matsuda, Meng Wang
    • Journal Title

      Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell

      Volume: なし Pages: 158~171

    • DOI

      10.1145/3242744.3242758

    • Peer Reviewed / Int'l Joint Research
  • [Presentation] 負型と分数型を持つ線形型付き可逆プログラミング言語とその並行計算に基づく意味論2018

    • Author(s)
      八木 颯, 松田 一孝
    • Organizer
      日本ソフトウェア科学会第 35 回大会(ポスター)
  • [Presentation] Linear Quipper: 埋め込み線形型付き量子プログラミング言語2018

    • Author(s)
      菅野 翔太, 松田 一孝
    • Organizer
      日本ソフトウェア科学会第35回大会
  • [Presentation] Linear Quipper: 埋め込み線形型付き量子プログラミング言語2018

    • Author(s)
      菅野 翔太,松田 一孝,Oleg Kiselyov
    • Organizer
      第21回プログラミングおよびプログラミング言語ワークショップ(査読有り)
  • [Remarks] 研究代表者webページ

    • URL

      http://www2.sf.ecei.tohoku.ac.jp/~kztk/

  • [Remarks] HOBiTの実装

    • URL

      https://bitbucket.org/kztk/hibx

  • [Remarks] FliPprシステムの実装

    • URL

      https://bitbucket.org/kztk/flippr

  • [Remarks] 埋め込み版FliPprの実装

    • URL

      https://bitbucket.org/kztk/flippre

  • [Remarks] Applicative Lensフレームワークの実装

    • URL

      https://bitbucket.org/kztk/app-lens

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi