Bidirectional typing

J Dunfield, N Krishnaswami - ACM Computing Surveys (CSUR), 2021 - dl.acm.org
Bidirectional typing combines two modes of typing: type checking, which checks that a
program satisfies a known type, and type synthesis, which determines a type from the …

[PDF][PDF] Refined criteria for gradual typing

JG Siek, MM Vitousek, M Cimini… - 1st Summit on Advances …, 2015 - drops.dagstuhl.de
Siek and Taha [2006] coined the term gradual typing to describe a theory for integrating
static and dynamic typing within a single language that 1) puts the programmer in control of …

Behavioral types in programming languages

D Ancona, V Bono, M Bravetti, J Campos… - … and Trends® in …, 2016 - nowpublishers.com
A recent trend in programming language research is to use behavioral type theory to ensure
various correctness properties of largescale, communication-intensive systems. Behavioral …

Abstracting gradual typing

R Garcia, AM Clark, É Tanter - ACM SIGPLAN Notices, 2016 - dl.acm.org
Language researchers and designers have extended a wide variety of type systems to
support gradual typing, which enables languages to seamlessly combine dynamic and static …

Design and evaluation of gradual typing for Python

MM Vitousek, AM Kent, JG Siek, J Baker - Proceedings of the 10th ACM …, 2014 - dl.acm.org
Combining static and dynamic typing within the same language offers clear benefits to
programmers. It provides dynamic typing in situations that require rapid prototyping …

The gradualizer: a methodology and algorithm for generating gradual type systems

M Cimini, JG Siek - ACM SIGPLAN Notices, 2016 - dl.acm.org
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 …

Type-driven gradual security with references

M Toro, R Garcia, É Tanter - ACM Transactions on Programming …, 2018 - dl.acm.org
In security-typed programming languages, types statically enforce noninterference between
potentially conspiring values, such as the arguments and results of functions. But to adopt …

Principal type schemes for gradual programs

R Garcia, M Cimini - Proceedings of the 42nd annual ACM SIGPLAN …, 2015 - dl.acm.org
Gradual typing is a discipline for integrating dynamic checking into a static type system.
Since its introduction in functional languages, it has been adapted to a variety of type …

Foundations of typestate-oriented programming

R Garcia, É Tanter, R Wolff, J Aldrich - ACM Transactions on …, 2014 - dl.acm.org
Typestate reflects how the legal operations on imperative objects can change at runtime as
their internal state changes. A typestate checker can statically ensure, for instance, that an …

How developers use the dynamic features of programming languages: the case of smalltalk

O Callaú, R Robbes, É Tanter… - Proceedings of the 8th …, 2011 - dl.acm.org
The dynamic and reflective features of programming languages are powerful constructs that
programmers often mention as extremely useful. However, the ability to modify a program at …