Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleAugust 2024
Gradual Indexed Inductive Types
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue ICFPArticle No.: 255, Pages 544–572https://doi.org/10.1145/3674644Indexed inductive types are essential in dependently-typed programming languages, enabling precise and expressive specifications of data structures and properties. Recognizing that programming and proving with dependent types could benefit from the ...
- research-articleJune 2024
Space-Efficient Polymorphic Gradual Typing, Mostly Parametric
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue PLDIArticle No.: 211, Pages 1585–1608https://doi.org/10.1145/3656441Since the arrival of gradual typing, which allows partially typed code in a single program, efficient implementations of gradual typing have been an active research topic. In this paper, we study the space-efficiency problem of gradual typing in the ...
- research-articleOctober 2022
Gradual System F
Journal of the ACM (JACM), Volume 69, Issue 5Article No.: 38, Pages 1–78https://doi.org/10.1145/3555986Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several designs have been ...
A reasonably gradual type theory
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue ICFPArticle No.: 124, Pages 931–959https://doi.org/10.1145/3547655Gradualizing the Calculus of Inductive Constructions (CIC) involves dealing with subtle tensions between normalization, graduality, and conservativity with respect to CIC. Recently, GCIC has been proposed as a parametrized gradual type theory that admits ...
Plausible sealing for gradual parametricity
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue OOPSLA1Article No.: 70, Pages 1–28https://doi.org/10.1145/3527314Graduality and parametricity have proven to be extremely challenging notions to bring together. Intuitively, enforcing parametricity gradually requires possibly sealing values in order to detect violations of uniform behavior. Toro et al. (2019) argue ...
- research-articleApril 2022
Gradualizing the Calculus of Inductive Constructions
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 2Article No.: 7, Pages 1–82https://doi.org/10.1145/3495528We investigate gradual variations on the Calculus of Inductive Construction (CIC) for swifter prototyping with imprecise types and terms. We observe, with a no-go theorem, a crucial trade-off between graduality and the key properties of normalization and ...
- ArticleJanuary 2021
Putting Gradual Types to Work
AbstractIn this paper, we describe our experience incorporating gradual types in a statically typed functional language with Hindley-Milner style type inference. Where most gradually typed systems aim to improve static checking in a dynamically typed ...
- research-articleApril 2020
Pallene: A companion language for Lua
Science of Computer Programming (SCPR), Volume 189, Issue Chttps://doi.org/10.1016/j.scico.2020.102393Highlights- We present Pallene, a typed and ahead-of-time-compiled subset of Lua.
- Pallene ...
The simplicity and flexibility of dynamic languages make them popular for prototyping and scripting, but the lack of compile-time type information makes it challenging to generate efficient executable code.
Inspired by ideas ...
- research-articleNovember 2019
Consistent Subtyping for All
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 1Article No.: 2, Pages 1–79https://doi.org/10.1145/3310339Consistent subtyping is employed in some gradual type systems to validate type conversions. The original definition by Siek and Taha serves as a guideline for designing gradual type systems with subtyping. Polymorphic types à la System F also induce a ...
- research-articleOctober 2019
Optimizing and evaluating transient gradual typing
DLS 2019: Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic LanguagesPages 28–41https://doi.org/10.1145/3359619.3359742Gradual typing enables programmers to combine static and dynamic typing in the same language. However, ensuring sound interaction between the static and dynamic parts can incur runtime cost. In this paper, we analyze the performance of the transient ...
- research-articleSeptember 2019
Rule-based program specialization to optimize gradually typed code
Knowledge-Based Systems (KNBS), Volume 179, Issue CPages 145–173https://doi.org/10.1016/j.knosys.2019.05.013AbstractBoth static and dynamic typing provide different benefits to the programmer. Statically typed languages support earlier type error detection and more opportunities for compiler optimizations. Dynamically typed languages facilitate the ...
Gradual parametricity, revisited
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue POPLArticle No.: 17, Pages 1–30https://doi.org/10.1145/3290330Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several designs were recently ...
- invited-talkOctober 2017
Challenges and progress toward efficient gradual typing (invited talk)
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic LanguagesPage 2https://doi.org/10.1145/3133841.3148570Mixing static and dynamic type checking in the same language is catching on, with the TypeScript and Flow variants of JavaScript, the MyPy and Reticulated variants of Python, the Strongtalk and Gradualtalk variants of Smalltalk, as well as Typed Racket,...
Also Published in:
ACM SIGPLAN Notices: Volume 52 Issue 11 The VM already knew that: leveraging compile-time knowledge to optimize gradual typing
Proceedings of the ACM on Programming Languages (PACMPL), Volume 1, Issue OOPSLAArticle No.: 55, Pages 1–27https://doi.org/10.1145/3133879Programmers in dynamic languages wishing to constrain and understand the behavior of their programs may turn to gradually-typed languages, which allow types to be specified optionally and check values at the boundary between dynamic and static code. ...
Gradual typing with union and intersection types
Proceedings of the ACM on Programming Languages (PACMPL), Volume 1, Issue ICFPArticle No.: 41, Pages 1–28https://doi.org/10.1145/3110285We propose a type system for functional languages with gradual types and set-theoretic type connectives and prove its soundness. In particular, we show how to lift the definition of the domain and result type of an application from non-gradual types to ...
- research-articleOctober 2016
Side effects take the blame
SLE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language EngineeringPages 195–206https://doi.org/10.1145/2997364.2997381We introduce several blame strategies for gradual effect systems. Blame strategies are the part of a language semantics that aims to identify the cause of a runtime check failure. Gradual effect systems are a framework that combines static and dynamic ...
- research-articleJanuary 2016
Is sound gradual typing dead?
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 456–468https://doi.org/10.1145/2837614.2837630Programmers have come to embrace dynamically-typed languages for prototyping and delivering large and complex systems. When it comes to maintaining and evolving these systems, the lack of explicit static typing becomes a bottleneck. In response, ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleDecember 2014
Gradual typing for Smalltalk
Science of Computer Programming (SCPR), Volume 96, Issue P1Pages 52–69https://doi.org/10.1016/j.scico.2013.06.006Being able to combine static and dynamic typing within the same language has clear benefits in order to support the evolution of prototypes or scripts into mature robust programs. While being an emblematic dynamic object-oriented language, Smalltalk is ...
- articleJune 2010
Space-efficient gradual typing
Higher-Order and Symbolic Computation (HOSC), Volume 23, Issue 2Pages 167–189https://doi.org/10.1007/s10990-011-9066-zGradual type systems offer a smooth continuum between static and dynamic typing by permitting the free mixture of typed and untyped code. The runtime systems for these languages, and other languages with hybrid type checking, typically enforce function ...