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

2018 年度 実績報告書

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

研究課題

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

研究代表者

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

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

4年間の研究計画の初年度にあたり、先進的型システムをもつ言語をターゲット言語とするプログラム生成の安全性、特に、型安全性とスコープ安全性に関する基礎理論の考察を行った。
ML系プログラム言語が持つlet多相とコード生成と計算エフェクトの3つを併せ持つプログラム言語に対して、素朴な型システムを想定すると、型安全性が壊れることが知られている。そこで、本研究では、このような組み合わせのプログラム言語は、アプリケーション記述において必要、もしくは、有用であることを明らかにし、ついで、このようなアプリケーションを記述できる程度に表現力が強く、かつ、型安全性が成立する程度に制限が効いている言語と型システムを設計した、伝統的に「値制限」と呼ばれる多相型の導入法と、「緩い値制限」と呼ばれる導入法のそれぞれに対して、自然でプログラマにとってわかりやすい制限をもうけて、結果として型安全性をもつ型システムを実現した。このうち、値制限に基づく方法は見通しの良い証明がつくが、緩い値制限に基づく方法は非常に難解な証明が必要であるため、本研究では、サブサンプションとよばれる規則を追加することとした。このルール自体が意味論的に健全であることの証明は次年度以降に行う。
このほか、依存型を持つプログラム言語に対して部分計算などのメタプログラミングを行う場合の型安全性の確保や、近年研究が非常に盛んになっている「代数的効果とハンドラ」に基づいて、プログラム生成との関係や他の言語へのプログラム変換や型の保存性などについて検討を行った。

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

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

理由

本研究はプログラム生成に関する基礎理論から言語設計・実装、そして、アプリケーションの記述までを含んだものであり、本年度の研究では、多相型をもつプログラムの生成について成果を得た。また、プログラム生成で重要となる計算エフェクトの研究においては、「代数的効果とハンドラー」をML系言語に翻訳したり、故ルーティンを持つ言語に変換する研究を行い、そこでも先進的型システムの役割の重要性を解き明かした。これらの成果の論文発表は来年度以降となるが、本研究の中間をなす部分で成果を得ており、研究は順調に進展していると判定した。

今後の研究の推進方策

初年度で得られた基礎理論に基づき多相型を持つプログラムの生成については、型安全に行える言語を得ており、これをプログラム言語として実装し、アプリケーションを記述する必要がある。
2年目以降は、多相型以外の重要な型である一般化代数データ型や依存型を持つプログラムの生成について検討し、初年度と同様な成果を得ることを目標とする。

  • 研究成果

    (13件)

すべて 2019 2018 その他

すべて 国際共同研究 (1件) 雑誌論文 (6件) (うち国際共著 3件、 査読あり 4件、 オープンアクセス 1件) 学会発表 (6件) (うち国際学会 2件)

  • [国際共同研究] Cambridge Univesrity(英国)

    • 国名
      英国
    • 外国機関名
      Cambridge Univesrity
  • [雑誌論文] Extracting a Call-by-Name Partial Evaluator from a Proof of Termination2019

    • 著者名/発表者名
      Kenichi Asai
    • 雑誌名

      ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM '19)

      巻: - ページ: 61-67

    • DOI

      10.1145/3294032.3294084

    • 査読あり
  • [雑誌論文] Generating Mutually Recursive Definitions2019

    • 著者名/発表者名
      Jeremy Yallop, Oleg Kiselyov
    • 雑誌名

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

      巻: - ページ: 75-81

    • DOI

      10.1145/3294032.3294078

    • 査読あり / 国際共著
  • [雑誌論文] Meta-Programming for Statistical Machine Learning2018

    • 著者名/発表者名
      Oleg Kiselyov, Tiark Rompf, Jennifer Neville, Yukiyoshi Kameyama
    • 雑誌名

      NII Shonan Seminar Report,

      巻: No. 2018-7 ページ: -

    • 国際共著
  • [雑誌論文] Handling Delimited Continuations with Dependent Types2018

    • 著者名/発表者名
      Youyou Cong, and Kenichi Asai
    • 雑誌名

      Proceedings of the ACM on Programming Languages

      巻: Vol. 2, Issue ICFP ページ: 31

    • DOI

      10.1145/3236764

    • 査読あり / オープンアクセス
  • [雑誌論文] Certifying CPS Transformation of Let-polymorphic Calculus Using PHOAS2018

    • 著者名/発表者名
      Urara Yamada, and Kenichi Asai
    • 雑誌名

      16th Asian Symposium on Programming Languages and Systems (APLAS 2018),LNCS 11275

      巻: - ページ: 375-393

    • DOI

      10.1007/978-3-030-02768-1_20

    • 査読あり
  • [雑誌論文] Functional Stream Libraries and Fusion: What's Next?2018

    • 著者名/発表者名
      Aggelos Biboudis (EPFL, Switzerland), Oleg Kiselyov, Martin Odersky (EPFL, Switzerland)
    • 雑誌名

      NII Shonan Seminar Report

      巻: No.2018-14 ページ: -

    • 国際共著
  • [学会発表] Polymorphic Staged Calculus with Cross-Stage Persistence and Side Effects2019

    • 著者名/発表者名
      菊地 綾音,亀山 幸義
    • 学会等名
      情報処理学会第122回プログラミング研究発表会
  • [学会発表] 動的変数をもつ依存型付きラムダ計算2019

    • 著者名/発表者名
      叢 悠悠、浅井 健一
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ論文集
  • [学会発表] shift/reset のための selective CPS 変換の正当性 の証明2019

    • 著者名/発表者名
      石尾 千晶、浅井 健一
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ論文集
  • [学会発表] セッション型、簡潔に2019

    • 著者名/発表者名
      オレッグ キセリョーヴ 今井 敬吾
    • 学会等名
      第21回プログラミングおよびプログラミング言語ワークショップ (poster)
  • [学会発表] A Lightweight Approach to Module Generation2018

    • 著者名/発表者名
      Yukiyoshi Kameyama
    • 学会等名
      IFIP Working Group 2.11, 18th meeting (Kyoto, Japan)
    • 国際学会
  • [学会発表] Session types without sophistry2018

    • 著者名/発表者名
      Oleg Kiselyov
    • 学会等名
      IFIP Working Group 2.11, 18th meeting (Kyoto, Japan)
    • 国際学会

URL: 

公開日: 2019-12-27  

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

Powered by NII kakenhi