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

A Higher-Order Programming Language for Bidirectional Transformations

Research Project

Project/Area Number 15K15966
Research Category

Grant-in-Aid for Young Scientists (B)

Allocation TypeMulti-year Fund
Research Field Software
Research InstitutionTohoku University

Principal Investigator

Matsuda Kazutaka  東北大学, 情報科学研究科, 准教授 (10583627)

Research Collaborator WANG Meng  
Project Period (FY) 2015-04-01 – 2019-03-31
Project Status Completed (Fiscal Year 2018)
Budget Amount *help
¥3,250,000 (Direct Cost: ¥2,500,000、Indirect Cost: ¥750,000)
Fiscal Year 2018: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2017: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2016: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2015: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Keywordsプログラミング言語 / 関数プログラミング / プログラム変換 / 領域特化言語 / 双方向変換 / 双方向プログラミング / 可逆プログラミング
Outline of Final Research Achievements

Bidirectional transformation, which enables synchronization between multiple data, is an important research topic that has been attracting interest in various research disciplines, including programming languages, software engineering, and database systems.
In this research project, we developed a higher-order functional programming language for bidirectional transformations, in which bidirectional transformations are represented as ordinary functions so that users can compose them by using higher-order functions to develop involved bidirectional transformations. We also proposed a new method for embedding bidirectional programming languages with binders, and demonstrated its usefulness by a case of FliPpr, a bidirectional programming language that describes parsers and pretty-printers at the same time.

Academic Significance and Societal Importance of the Research Achievements

プログラミング言語の記述性は,ソフトウェアの生産性や保守性に関係する重要な性質の一つであり,双方向プログラミング言語においても例外ではない.本研究の提案言語は双方向変換言語の記述性を大きく向上させるものである.本研究で提案された言語のアイデアは,双方向変換を通常の関数として表現することである.このことは双方向変換をより自然なプログラムとして表現することを可能にするだけでなく,高階関数を用いた双方向プログラミングをサポートすることを可能にしている.また,埋め込み技術の発展は双方向プログラミング言語の利便性の向上につながる.

Report

(5 results)
  • 2018 Annual Research Report   Final Research Report ( PDF )
  • 2017 Research-status Report
  • 2016 Research-status Report
  • 2015 Research-status Report
  • Research Products

    (24 results)

All 2018 2017 2015 Other

All Int'l Joint Research (2 results) Journal Article (8 results) (of which Int'l Joint Research: 6 results,  Peer Reviewed: 8 results,  Open Access: 3 results,  Acknowledgement Compliant: 2 results) Presentation (4 results) Remarks (10 results)

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

    • Related Report
      2018 Annual Research Report
  • [Int'l Joint Research] University of Kent(United Kingdom)

    • Related Report
      2016 Research-status Report
  • [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

    • Related Report
      2018 Annual Research Report
    • 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 Issue: 3 Pages: 173-202

    • DOI

      10.1007/s00354-018-0033-7

    • Related Report
      2018 Annual Research Report
    • 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

    • ISBN
      9783319898834, 9783319898841
    • Related Report
      2018 Annual Research Report
    • 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

    • Related Report
      2018 Annual Research Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] The Algebra of Recursive Graph Transformation Language UnCAL: Complete Axiomatisation and Iteration Categorical Semantics2018

    • Author(s)
      M. Hamana, K. Matsuda and K. Asada
    • Journal Title

      Mathematical Structures in Computer Science

      Volume: 28 Issue: 2 Pages: 287-337

    • DOI

      10.1017/s096012951600027x

    • Related Report
      2017 Research-status Report
    • Peer Reviewed / Open Access
  • [Journal Article] A functional reformulation of UnCAL graph-transformations: or, graph transformation as graph reduction2017

    • Author(s)
      Kazutaka Matsuda, Kazuyuki Asada
    • Journal Title

      Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation

      Volume: - Pages: 71-82

    • DOI

      10.1145/3018882.3018883

    • Related Report
      2016 Research-status Report
    • Peer Reviewed / Acknowledgement Compliant
  • [Journal Article] Applicative Bidirectional Programming with Lenses2015

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

      Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming

      Volume: なし Pages: 62-74

    • DOI

      10.1145/2784731.2784750

    • Related Report
      2015 Research-status Report
    • Peer Reviewed / Int'l Joint Research / Acknowledgement Compliant
  • [Journal Article] Trace-based Approach to Editability and Correspondence Analysis for Bidirectional Graph Transformations2015

    • Author(s)
      Soichiro Hidaka, Martin Billes, Quang Minh Tran, and Kazutaka Matsuda
    • Journal Title

      Proceedings of the 4th International Workshop on Bidirectional Transformations

      Volume: なし

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

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

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

    • Author(s)
      菅野 翔太,松田 一孝,Oleg Kiselyov
    • Organizer
      第21回プログラミングおよびプログラミング言語ワークショップ(査読有り)
    • Related Report
      2018 Annual Research Report
  • [Presentation] Applicative Bidirectional Programming with Lenses2015

    • Author(s)
      Kazutaka Matsuda and Meng Wang
    • Organizer
      日本ソフトウェア科学会第32回大会
    • Place of Presentation
      早稲田大学(東京)
    • Year and Date
      2015-09-08
    • Related Report
      2015 Research-status Report
  • [Remarks] 研究代表者webページ

    • URL

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

    • Related Report
      2018 Annual Research Report
  • [Remarks] HOBiTの実装

    • URL

      https://bitbucket.org/kztk/hibx

    • Related Report
      2018 Annual Research Report
  • [Remarks] FliPprシステムの実装

    • URL

      https://bitbucket.org/kztk/flippr

    • Related Report
      2018 Annual Research Report
  • [Remarks] 埋め込み版FliPprの実装

    • URL

      https://bitbucket.org/kztk/flippre

    • Related Report
      2018 Annual Research Report
  • [Remarks] Applicative Lensフレームワークの実装

    • URL

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

    • Related Report
      2018 Annual Research Report
  • [Remarks] 研究代表者のwebページ

    • URL

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

    • Related Report
      2017 Research-status Report
  • [Remarks] HOBiTの実装

    • URL

      https://bitbucket.org/kztk/hibx/

    • Related Report
      2017 Research-status Report
  • [Remarks] 言及されている高階双方向プログララミング言語の処理系

    • URL

      https://bitbucket.org/kztk/hibx

    • Related Report
      2016 Research-status Report
  • [Remarks] 研究者代表者ホームページ

    • URL

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

    • Related Report
      2015 Research-status Report
  • [Remarks] 実装したライブラリの入手先

    • URL

      https://hackage.haskell.org/package/app-lens

    • Related Report
      2015 Research-status Report

URL: 

Published: 2015-04-16   Modified: 2020-03-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi