Skip to main content
QUICK REVIEW

[論文レビュー] Galois Connecting Call-by-Value and Call-by-Name

Dylan McDermott, Alan Mycroft|arXiv (Cornell University)|Jan 1, 2022
Polynomial and algebraic computation参考文献 34被引用数 1
ひとこと要約

この論文は、Levyのコール・バイ・プッシュ・バリュー(CBPV)計算を統一的基盤として用い、計算的効果を伴う状況下で、コール・バイ・バリューとコール・バイ・ネームの評価の関係を一般的に考察する枠組みを確立する。効果に関するある種の公理的条件(例:スラッシュ可能、破棄可能)の下で、コール・バイ・バリューとコール・バイ・ネームの解釈の間の写像がギャロア接続を形成することを示し、観察可能な振る舞いの体系的比較を可能にする。主な貢献は、異なる評価順序下でのプログラムの結果を関連付ける一般化された推論原理(定理6.2)の確立である。

ABSTRACT

We establish a general framework for reasoning about the relationship between call-by-value and call-by-name. In languages with side-effects, call-by-value and call-by-name executions of programs often have different, but related, observable behaviours. For example, if a program might diverge but otherwise has no side-effects, then whenever it terminates under call-by-value, it terminates with the same result under call-by-name. We propose a technique for stating and proving these properties. The key ingredient is Levy’s call-by-push-value calculus, which we use as a framework for reasoning about evaluation orders. We construct maps between the call-by-value and call-by-name interpretations of types. We then identify properties of side-effects that imply these maps form a Galois connection. These properties hold for some side-effects (such as divergence), but not others (such as mutable state). This gives rise to a general reasoning principle that relates call-by-value and call-by-name. We apply the reasoning principle to example side-effects including divergence and nondeterminism.

研究の動機と目的

  • コール・バイ・バリューとコール・バイ・ネームの評価の間を切り替えた際の、プログラムの観察可能な振る舞いの変化を一般化して考察するための技術を開発すること。
  • 評価順序の体系的比較を可能にする計算的効果の公理的性質を特定すること。
  • コール・バイ・プッシュ・バリュー計算における論理的関係とギャロア接続を通じて、コール・バイ・バリューとコール・バイ・ネームの関係を形式化すること。
  • 発散や非決定性を含む多様な効果に適用可能な再利用可能な枠組みを、効果固有の意味論を抽象化することで提供すること。

提案手法

  • Levyのコール・バイ・プッシュ・バリュー(CBPV)計算を共通の意味論的枠組みとして用い、式をコール・バイ・バリューおよびコール・バイ・ネーム形式に翻訳する。
  • 異なる型(CBV 対 CN)を持つ項の観察可能な振る舞いを比較する、集合論的論理的関係の族を定義する。
  • 計算的効果に関する条件(例:破棄可能、再順序可能)の下で、式のCBVおよびCN翻訳の関係を示す定理(定理4.7)を確立する。
  • 型のコール・バイ・バリューとコール・バイ・ネーム解釈の間の写像を構築し、スラッシュ可能などのより強い条件の下でギャロア接続を形成することを示す。
  • これらのギャロア写像をCBPV翻訳と合成することで、異なる評価順序下での項の直接的比較を可能にする。
  • 評価順序の変更に関する一般化された定理を導出できる一般化された推論原理(定理6.2)を導出する。

実験結果

リサーチクエスチョン

  • RQ1計算的効果にどのような条件下で、同一の式についてのコール・バイ・バリューとコール・バイ・ネームの評価が関連する観察可能な振る舞いを示すのか。
  • RQ2項の振る舞いを反映するように、コール・バイ・バリューとコール・バイ・ネームの型解釈の間でギャロア接続を確立できるか。
  • RQ3CBVとCN翻訳間の論理的関係をどのように用いて、評価順序の変更に関する一般定理を導出できるか。
  • RQ4ギャロア接続を通じてCBVとCNを関連付けるために必要な・十分な効果の公理的性質(例:スラッシュ可能、破棄可能)は何か。
  • RQ5この枠組みは、発散や非決定性、それらの組み合わせを含む多様な効果に一様に適用可能か。

主な発見

  • 発散や再順序可能というような条件の下で、式のコール・バイ・バリューとコール・バイ・ネームの翻訳が、集合論的関係を通じて論理的に関連づけられることを示した(定理4.7)。
  • 発散効果に対しては、推論原理により、プログラムがコール・バイ・バリュー下で終了するならば、コール・バイ・ネーム下でも同じ結果で終了することが示される。
  • 非決定的効果に対しては、原理により、コール・バイ・バリュー実行のすべての可能な結果が、対応するコール・バイ・ネーム実行の可能な結果に含まれることを示す。
  • 効果がスラッシュ可能である場合、コール・バイ・バリューとコール・バイ・ネームの型解釈の間の写像がギャロア接続を形成し、2つの評価戦略の間の形式的な双対性を可能にする。
  • 一般化された推論原理(定理6.2)により、異なる評価順序下での振る舞いの比較を通じて、プログラムの順序に依存する性質を導出可能である。
  • この枠組みは一般的であり、発散と非決定性の組み合わせを含む効果の組み合わせに対しても、その公理的性質が満たされる限り適用可能である。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。