Downloads provided by UsageCounts
# POPL 2024 Artifact Evaluation ## Paper Abstract We study the interaction of structural subtyping with parametric polymorphism and recursively defined type constructors. Although structural subtyping is undecidable in this setting, we describe a notion of parametricity for type constructors and then exploit it to define parametric subtyping, a conceptually simple, decidable, and expressive fragment of structural subtyping that strictly generalizes nominal subtyping. We present and prove correct an effective saturation-based decision procedure for parametric subtyping, demonstrating its applicability using a variety of examples. An implementation of this decision procedure is available in the supplementary materials. # Artifact Evaluation We would like to thank the reviewers for reviewing the artifact for the POPL 2024 submission 714 titled "Parametric Subtyping for Structural Parametric Polymorphism". ## VM Link You can download the VM image from [here](https://zenodo.org/records/8423335/files/ubuntu-popl24-aec-submission-714.ova?download=1). You can find current source code at the [online repository](https://bitbucket.org/structural-types/polyte/). ### VM Login VM Username: popl24-aec VM Password: submission-714 ## VM Instructions The VM contains an image of Ubuntu 22.04.1 LTS with the implementation and dependencies already downloaded, installed, and compiled. The implementation is called `polyte` and exists in the home directory of the VM. The standard way of using this image is by downloading and installing VirtualBox and loading this image in VirtualBox. Open a terminal and navigate to the `polyte` implementation. ``` $ cd ~/polyte $ ./bin/polyte-test ./examples/*.poly (run polyte-test on tests/examples, returning exit code) $ ./bin/polyte ./examples/paper.poly (viewing output) ``` If you would like to build the binaries again: ``` $ cd ~/polyte $ make all $ make install $ make clean ``` At this point, you can return to the instructions before this to run regression testing or run `polyte` on individual files. The VM image also has emacs already installed with syntax highlighting enabled, therefore you can open `.poly` files using emacs to edit those files with the benefit of syntax highlighting. You can find more details in the [README file](https://bitbucket.org/structural-types/polyte/src/popl24-artifact/README.md) that also exists at ~/polyte/README.md of the VM image.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 12 | |
| downloads | 4 |

Views provided by UsageCounts
Downloads provided by UsageCounts