The theory of program modules is of interest to language designers not only for its practical importance to programming, but also because it lies at the nexus of three fundamental concerns in language design: the phase distinction, computational effects, and type abstraction. We contribute a fresh "synthetic" take on program modules that treats modules as the fundamental constructs, in which the usual suspects of prior module calculi (kinds, constructors, dynamic programs) are rendered as derived notions in terms of a modal type-theoretic account of the phase distinction. We simplify the account of type abstraction (embodied in the generativity of module functors) through a lax modality that encapsulates computational effects. Our main result is a (significant) proof-relevant and phase-sensitive generalization of the Reynolds abstraction theorem for a calculus of program modules, based on a new kind of logical relation called a parametricity structure. Parametricity structures generalize the proof-irrelevant relations of classical parametricity to proof-relevant families, where there may be non-trivial evidence witnessing the relatedness of two programs -- simplifying the metatheory of strong sums over the collection of types, for although there can be no "relation classifying relations", one easily accommodates a "family classifying small families". Using the insight that logical relations/parametricity is itself a form of phase distinction between the syntactic and the semantic, we contribute a new synthetic approach to phase separated parametricity based on the slogan "logical relations as types", iterating our modal account of the phase distinction. Then, to construct a simulation between two implementations of an abstract type, one simply programs a third implementation whose type component carries the representation invariant.


翻译:程序模块的理论不仅对语言设计者具有实际意义,而且因为它是语言设计的三个基本关切的关联点:阶段区分、计算效果和类型抽象。我们贡献了一个新的“合成”程序模块,将模块视为基本构件,根据一种新的逻辑关系,将先前模块计算模型(实物、构建器、动态程序)的通常疑点作为参数,即该阶段区别的模型型式理论说明。我们简化了类型抽象化的账户(在模块真菌的遗传性中嵌入了模块真菌的遗传性),通过一种包含计算效果的松散模式。我们的主要结果是将模块的“合成”模块的“合成”模块模块作为基本构件,根据一种新的逻辑关系(种类、构建者、动态程序)作为衍生概念的衍生概念,将模型的模型模型模型模型与证据相关家庭的关系概括起来,在两种程序的相关类型中,可能出现非三重证据,但两个程序的相对关联性则被压缩。 我们的主要结果是( ) 将模型的缩缩略地将一个序列的缩略地分类用于“ ”

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
97+阅读 · 2020年6月3日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
计算机 | CCF推荐会议信息10条
Call4Papers
5+阅读 · 2018年10月18日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
【推荐】SLAM相关资源大列表
机器学习研究会
10+阅读 · 2017年8月18日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年7月6日
Arxiv
0+阅读 · 2021年7月5日
Arxiv
5+阅读 · 2020年12月10日
VIP会员
相关资讯
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
计算机 | CCF推荐会议信息10条
Call4Papers
5+阅读 · 2018年10月18日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
【推荐】SLAM相关资源大列表
机器学习研究会
10+阅读 · 2017年8月18日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员