License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.9.2.12
URN: urn:nbn:de:0030-drops-182521
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2023/18252/
Madsen, Magnus ;
Starup, Jonathan Lindegaard ;
Lutze, Matthew
Restrictable Variants: A Simple and Practical Alternative to Extensible Variants (Artifact)
Evaluation Policy
The artifact has been evaluated as described in the ECOOP 2023 Call for Artifacts and the ACM Artifact Review and Badging Policy.
Abstract
In this artifact, we provide an implementation of the λ^res_var calculus, as described in the related article. The implementation is an extension of the Flix programming language compiler, supporting restrictable variants and the two partial pattern-matching constructs: choose and choose-⋆.
The artifact consists of the extended Flix compiler, a Visual Studio Code extension supporting common IDE features such as syntax highlighting and type hovering, and a collection of Flix files demonstrating the use of restrictable variants. The Flix files correspond to examples presented in the paper.
Users are invited to modify the Flix files in order to observe the influence of their changes on the inferred types in the provided programs.
BibTeX - Entry
@Article{madsen_et_al:DARTS.9.2.12,
author = {Madsen, Magnus and Starup, Jonathan Lindegaard and Lutze, Matthew},
title = {{Restrictable Variants: A Simple and Practical Alternative to Extensible Variants (Artifact)}},
pages = {12:1--12:3},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2023},
volume = {9},
number = {2},
editor = {Madsen, Magnus and Starup, Jonathan Lindegaard and Lutze, Matthew},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2023/18252},
URN = {urn:nbn:de:0030-drops-182521},
doi = {10.4230/DARTS.9.2.12},
annote = {Keywords: restrictable variants, extensible variants, refinement types, Boolean unification}
}
Keywords: |
|
restrictable variants, extensible variants, refinement types, Boolean unification |
Collection: |
|
DARTS, Volume 9, Issue 2, Special Issue of the 37th European Conference on Object-Oriented Programming (ECOOP 2023) |
Issue Date: |
|
2023 |
Date of publication: |
|
11.07.2023 |