Program synthesis by type-guided abstraction refinement
We consider the problem of type-directed component-based synthesis where, given a set of
(typed) components and a query type, the goal is to synthesize a term that inhabits the …
(typed) components and a query type, the goal is to synthesize a term that inhabits the …
Gradual type theory
Gradually typed languages are designed to support both dynamically typed and statically
typed programming styles while preserving the benefits of each. While existing gradual type …
typed programming styles while preserving the benefits of each. While existing gradual type …
Gradual refinement types
N Lehmann, É Tanter - ACM SIGPLAN Notices, 2017 - dl.acm.org
Refinement types are an effective language-based verification technique. However, as any
expressive typing discipline, its strength is its weakness, imposing sometimes undesired …
expressive typing discipline, its strength is its weakness, imposing sometimes undesired …
Gradual typing with union and intersection types
G Castagna, V Lanvin - Proceedings of the ACM on Programming …, 2017 - dl.acm.org
We 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 …
connectives and prove its soundness. In particular, we show how to lift the definition of the …
Gradual typing: a new perspective
G Castagna, V Lanvin, T Petrucciani… - Proceedings of the ACM on …, 2019 - dl.acm.org
We define a new, more semantic interpretation of gradual types and use it to``gradualize''two
forms of polymorphism: subtyping polymorphism and implicit parametric polymorphism. In …
forms of polymorphism: subtyping polymorphism and implicit parametric polymorphism. In …
Static type analysis by abstract interpretation of Python programs
Python is an increasingly popular dynamic programming language, particularly used in the
scientific community and well-known for its powerful and permissive high-level syntax. Our …
scientific community and well-known for its powerful and permissive high-level syntax. Our …
Hazelnut: a bidirectionally typed structure editor calculus
Structure editors allow programmers to edit the tree structure of a program directly. This can
have cognitive benefits, particularly for novice and end-user programmers. It also simplifies …
have cognitive benefits, particularly for novice and end-user programmers. It also simplifies …
The gradualizer: a methodology and algorithm for generating gradual type systems
Many languages are beginning to integrate dynamic and static typing. Siek and Taha offered
gradual typing as an approach to this integration that provides a coherent and full-span …
gradual typing as an approach to this integration that provides a coherent and full-span …
Type-driven gradual security with references
In security-typed programming languages, types statically enforce noninterference between
potentially conspiring values, such as the arguments and results of functions. But to adopt …
potentially conspiring values, such as the arguments and results of functions. But to adopt …
On polymorphic gradual typing
Y Igarashi, T Sekiyama, A Igarashi - Proceedings of the ACM on …, 2017 - dl.acm.org
We study an extension of gradual typing—a method to integrate dynamic typing and static
typing smoothly in a single language—to parametric polymorphism and its theoretical …
typing smoothly in a single language—to parametric polymorphism and its theoretical …