2021
DOI: 10.1017/s0956796821000125
|View full text |Cite
|
Sign up to set email alerts
|

Gradual type theory

Abstract: Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. Sound gradually typed languages dynamically check types at runtime at the boundary between statically typed and dynamically typed modules. However, there is much disagreement in the gradual typing literature over how to enforce complex types such as tuples, lists, functions and objects. In this paper, we propose a new perspective on the design of runtime gradua… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
5
1

Relationship

1
5

Authors

Journals

citations
Cited by 6 publications
(6 citation statements)
references
References 46 publications
0
6
0
Order By: Relevance
“…Graduality is also based on important underlying structural properties of precision on terms, namely that term precision is stable by reduction (if t ⊑ t' and t reduces to v and t ' to v ' , then v ⊑ v'), and that the term and type constructors of the language are monotone (e.g., if t ⊑ t' and u ⊑ u' then t u ⊑ t' u ' ). These technical conditions, natural in a categorical setting [New et al 2019], coincide with the programmer-level interpretation of precision and the DGG.…”
Section: Conservativitymentioning
confidence: 95%
“…Graduality is also based on important underlying structural properties of precision on terms, namely that term precision is stable by reduction (if t ⊑ t' and t reduces to v and t ' to v ' , then v ⊑ v'), and that the term and type constructors of the language are monotone (e.g., if t ⊑ t' and u ⊑ u' then t u ⊑ t' u ' ). These technical conditions, natural in a categorical setting [New et al 2019], coincide with the programmer-level interpretation of precision and the DGG.…”
Section: Conservativitymentioning
confidence: 95%
“…Since the original conference publication of this article [24], we have developed [25] a version of gradual type theory based on call-by-push-value, which extends call-by-value and call-byname, and generalizes the type theory we have presented here. The implementations of the dynamic value type and dynamic computation type in [25] are based on the two models in Section 6.2. We also developed operational models of CBPV gradual type theory, based on an interpretation of term dynamism as a kind of contextual approximation, following [23].…”
Section: Ur(s)'mentioning
confidence: 99%
“…We have chosen call-by-name because it is a simple setting with the necessary η principles (for negative types) to illustrate our technique. We have in other work considered application to other evaluation orders ( [25]), which we discuss in more detail in Section 7.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…However, adding recursive types is part of our future work so that we would be able to describe more precisely cases of the like. Recursive types have been addressed previously in gradual typing implementations [9,25,12,13], and in semantics formulations [20,15]. We plan on building on this body of work.…”
Section: Related Work and (More) Future Workmentioning
confidence: 99%