Salvato in:
Dettagli Bibliografici
Autori principali: Lee, Edward, Zhao, Yaoyu, You, James, Satheeskumar, Kavin, Lhoták, Ondřej, Brachthäuser, Jonathan
Natura: Preprint
Pubblicazione: 2023
Soggetti:
Accesso online:https://arxiv.org/abs/2311.07480
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866913244675833856
author Lee, Edward
Zhao, Yaoyu
You, James
Satheeskumar, Kavin
Lhoták, Ondřej
Brachthäuser, Jonathan
author_facet Lee, Edward
Zhao, Yaoyu
You, James
Satheeskumar, Kavin
Lhoták, Ondřej
Brachthäuser, Jonathan
contents Type qualifiers offer a lightweight mechanism for enriching existing type systems to enforce additional, desirable, program invariants. They do so by offering a restricted but effective form of subtyping. While the theory of type qualifiers is well understood and present in many programming languages today, polymorphism over type qualifiers is an area that is less examined. We explore how such a polymorphic system could arise by constructing a calculus System F<:Q which combines the higher-rank bounded polymorphism of System F<: with the theory of type qualifiers. We explore how the ideas used to construct System F<:Q can be reused in situations where type qualifiers naturally arise -- in reference immutability, function colouring, and capture checking. Finally, we re-examine other qualifier systems in the literature in light of the observations presented while developing System F<:Q.
format Preprint
id arxiv_https___arxiv_org_abs_2311_07480
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Qualifying System F-sub
Lee, Edward
Zhao, Yaoyu
You, James
Satheeskumar, Kavin
Lhoták, Ondřej
Brachthäuser, Jonathan
Programming Languages
Type qualifiers offer a lightweight mechanism for enriching existing type systems to enforce additional, desirable, program invariants. They do so by offering a restricted but effective form of subtyping. While the theory of type qualifiers is well understood and present in many programming languages today, polymorphism over type qualifiers is an area that is less examined. We explore how such a polymorphic system could arise by constructing a calculus System F<:Q which combines the higher-rank bounded polymorphism of System F<: with the theory of type qualifiers. We explore how the ideas used to construct System F<:Q can be reused in situations where type qualifiers naturally arise -- in reference immutability, function colouring, and capture checking. Finally, we re-examine other qualifier systems in the literature in light of the observations presented while developing System F<:Q.
title Qualifying System F-sub
topic Programming Languages
url https://arxiv.org/abs/2311.07480