• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2019 年度 実績報告書

先進的型理論に基づく多段階計算体系の設計と実装

研究課題

研究課題/領域番号 18H03218
研究機関筑波大学

研究代表者

亀山 幸義  筑波大学, システム情報系, 教授 (10195000)

研究分担者 浅井 健一  お茶の水女子大学, 基幹研究院, 准教授 (10262156)
Kiselyov Oleg  東北大学, 情報科学研究科, 助教 (50754602)
研究期間 (年度) 2018-04-01 – 2022-03-31
キーワード段階的計算 / プログラム生成 / 型システム / 一般化代数データ型 / 静的安全性
研究実績の概要

今年度の研究では、先進的型理論を用いたプログラム生成の研究を深化させ、以下の成果を得た。(1) 従来のプログラム生成の理論およびシステムで静的型安全性を保証するものはほとんどが「式のコード」のみを対象にしたものであった。その数少ない例外であるWatanabeらの研究では、「モジュールのコード」の生成を行ったがコードが過剰に大きくなる問題があった。本研究では、研究分担者Kiselyovが開発したgenlet機構を適用してコード爆発を常に回避できるモジュールコード生成法を確立した。(PEPM2020で発表)。(2)プログラム生成法の有力な応用先である領域特化言語の処理系の高速について、データベース問い合わせ言語を関数型言語に統合した「統合言語クエリー」において、従来研究では取り扱い困難とされた「グループ化機能」を取り込んで効率化することに成功した。グループ化機能は、データベース問い合わせ言語において使用頻度が高く不可欠な機能であるため、この成果は従来研究の欠点を補う重要な成果であると考えている。この成果はFLOPS2020国際会議で発表予定である。(3)プログラム生成法に関連する話題として、関数型プログラミングにおけるコントロールオペレータの研究がある。本年度の研究では、極めてホットな研究課題となっている「代数的効果 (algebraic effect)」と多くのプログラム言語が持つ機能である「コルーティン」の関係を精密に調査し、「ワンショット」という条件をもたせることによって前者が後者へマクロ定義可能な変換により翻訳可能なことを示した。この成果は TFP2020国際会議で発表し、会議後の論文集(査読付き)でも採択された。

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

本研究は、プログラム生成法の新しい展開を目指して、従来の「コードのみを生成対象としたときに静的安全性を保証できる」理論を打破して、型やモジュールの宣言などを含めて安全に生成する新しい基礎理論とそれを実現するシステム構築をめざしたものである。前者については本年度の成果(1)で大きな進展を得られ、今後、(式だけではなく、宣言を含む)ライブラリーモジュールの生成につなぐ見通しがついている。一方で、型の生成についての技術的に困難な課題も新たに発見されており、今後の研究期間で鋭意、解決をはかる予定である。

今後の研究の推進方策

本研究のこれまでの成果をもとに、コードだけでなく型やモジュールの宣言を生成するための基礎理論とシステム構築を推進し、研究期間内に完成させることを目指す。並行して、このようなシステムのユースケースとなる応用をできるだけ多く探し、本研究の有用性を示すこととする。このテーマは研究分担者のKiselyovおよび浅井が作成した言語やシステムを利用するなど、様々な面で本質的な研究協力をおこなってきており、今後さらに協力関係を発展させ共著論文執筆を目指す。

  • 研究成果

    (12件)

すべて 2020 2019 その他

すべて 雑誌論文 (3件) (うち査読あり 3件) 学会発表 (7件) (うち国際学会 5件) 図書 (1件) 備考 (1件)

  • [雑誌論文] Module Generation without Regret2020

    • 著者名/発表者名
      uhi Sato, Yukiyoshi Kameyama, Takahisa Watanabe
    • 雑誌名

      Proc. of ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation

      巻: - ページ: 1-13

    • DOI

      10.1145/3372884.3373160

    • 査読あり
  • [雑誌論文] Verifying Selective CPS Transformation for Shift and Reset2020

    • 著者名/発表者名
      Chiaki Ishio, Kenichi Asai
    • 雑誌名

      Lecture Notes in Computer Science

      巻: 12053 ページ: 38-57

    • DOI

      10.1007/978-3-030-47147-7_3

    • 査読あり
  • [雑誌論文] 限定継続命令をもつ依存型付き言語の設計2019

    • 著者名/発表者名
      叢 悠悠、浅井 健一
    • 雑誌名

      コンピュータソフトウェア

      巻: Vol. 36, No. 2 ページ: 47-60

    • DOI

      10.11309/jssst.36.2_47

    • 査読あり
  • [学会発表] Module Generation without Regret2020

    • 著者名/発表者名
      Yuhi Sato, Yukiyoshi Kameyama, Takahisa Watanabe
    • 学会等名
      2020 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
    • 国際学会
  • [学会発表] One-shot Algebraic Effects as Coroutines2020

    • 著者名/発表者名
      Satoru Kawahara, Yukiyoshi Kameyama
    • 学会等名
      21st International Symposium on Trends in Functional Programming
    • 国際学会
  • [学会発表] Agda の Reflection API を用いた自動証明に向けて2020

    • 著者名/発表者名
      石尾 千晶、山本 充子、浅井 健一
    • 学会等名
      第22回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] algebraic effects を含むプログラムのステップ実行2020

    • 著者名/発表者名
      古川 つきの、浅井 健一
    • 学会等名
      第22回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] let (rec) insertion without effects, lights or magic2019

    • 著者名/発表者名
      Oleg Kiselyov, Jeremy Yallop
    • 学会等名
      ML Family Workshop
    • 国際学会
  • [学会発表] Session Types without Sophistry: Practical embedding of DSLs with sophisticated type systems2019

    • 著者名/発表者名
      Oleg Kiselyov
    • 学会等名
      IFIP WG2.11 20th Meeting
    • 国際学会
  • [学会発表] Language-Integrated Query with Nested Data Structures and Grouping2019

    • 著者名/発表者名
      Yukiyoshi Kameyama
    • 学会等名
      IFIP WG2.11 20th Meeting
    • 国際学会
  • [図書] NII Shonan Meeting report No. 1462019

    • 著者名/発表者名
      Sam Lindley, Nicolas Wu, Oleg Kiselyov, Gordon Plotkin
    • 総ページ数
      11
    • 出版者
      Programming and Reasoning with Algebraic Effects and Effect Handlers
    • ISBN
      2186-7437
  • [備考]

    • URL

      http://www.cs.tsukuba.ac.jp/~kam/publication.html

URL: 

公開日: 2021-01-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi