Qualifying System F-sub

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Lee, Edward, Zhao, Yaoyu, You, James, Satheeskumar, Kavin, Lhoták, Ondřej, Brachthäuser, Jonathan
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_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