2023年10月8日出版 |版本1.1
会议文件 正常开放

结构参数多态性的参数化子类型(工件)

  • 1卡内基梅隆大学
  • 2里斯本大学LASIGE
  • 3亚马逊

贡献者

联系人:

  • 1亚马逊

描述

#POPL 2024工件评估

 

##论文摘要

 

我们研究了结构子类型与参数多态性和递归定义类型构造函数的相互作用。虽然在这种情况下结构子类型是不可确定的,但我们为类型构造函数描述了参数性的概念,然后利用它来定义参数子类型,这是结构子类型的一个概念上简单、可判定和表达的片段,它严格地概括了名义子类型。我们提出并证明了一种有效的基于饱和度的参数子类型决策过程的正确性,并通过各种示例证明了其适用性。补充材料中提供了该决策程序的实施。

 

#人工制品评估

 

我们要感谢审查人员审查了POPL 2024提交文件714“结构参数多态性的参数分型”的工件。

 

##VM链接

 

您可以从[此处]下载VM映像(https://zenodo.org/records/8423335/files/ubuntu-ppl24-aec-submission-714.ova?下载=1).

您可以在[在线存储库]中找到当前源代码(https://bitbucket.org/structural-types/polyte网站/).

 

###VM登录

 

VM用户名:popl24-aec

VM密码:submission-714

 

##VM指令

 

VM包含Ubuntu 22.04.1 LTS的一个映像,其中包含已下载、安装和编译的实现和依赖项。

该实现称为“polyte”,存在于VM的主目录中。

使用此映像的标准方法是下载并安装VirtualBox,然后在VirtualBox中加载此映像。

 

打开终端并导航到“polyte”实现。

 

```

$cd~/聚乙烯

$ ./料仓/聚乙烯试验/examples/*.poly(对测试/示例运行polyte-test,返回退出代码)

$ ./垃圾桶/聚乙烯/示例/paper.poly(查看输出)

```

 

如果要再次生成二进制文件:

 

```

$cd~/聚乙烯

$make全部

$make安装

$清理

```

 

此时,您可以返回到之前的说明,对单个文件运行回归测试或“polyte”。

 

VM映像也已经安装了启用语法高亮显示的emacs,因此您可以打开`.poly`文件

使用emacs编辑这些文件,并突出显示语法。

 

您可以在[README文件]中找到更多详细信息(https://bitbucket.org/structural-types/polyte/src/popl24-artifact/README.md)

也存在于VM映像的~/polyte/README.md中。

文件夹

文件夹(8.1 GB)

姓名 大小 全部下载
md5:a5e53a5196903b2a365e20e1bf7bf3
8.1 GB 下载