Design and evaluation of gradual typing for python
By Michael M. Vitousek, Andrew M. Kent, Jeremy G. Siek, Jim Baker. 2014
143 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Hardware and Architecture, Information Systems, Software Engineering
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Erik Krogh Kristensen
- Jeffrey S. Foster
- Prem Devanbu
- Arjun Guha
- Milod Kazerounian
- Kevin Jesse
- Bonan Min
- Anders Møller
In Hardware and Architecture
- Anders Møller
- Satish Chandra
- Işıl Dillig
- Erik Krogh Kristensen
- Jean-Baptiste Jeannin
- Ming-Ho Yee
- Arjun Guha
In Information Systems
- Erik Krogh Kristensen
- Arjun Guha
- Prem Devanbu
- Jeffrey S. Foster
- Kevin Jesse
- Anders Møller
- Milod Kazerounian
- Brianna M. Ren
In Software Engineering
- Erik Krogh Kristensen
- Jeffrey S. Foster
- Bonan Min
- Milod Kazerounian
- Ambrose Bonnaire-Sergeant
- Rowan Davies
- Anders Møller
- Sam Tobin-Hochstadt
Citations in the corpus
- TypeWriter: neural type prediction with search-based validation (2019, neutral): “Similar approaches have also been explored by the research community [36].”
- LambdaNet: Probabilistic Type Inference using Graph Neural Networks (2020, background): “Support for gradual typing now exists in many popular programming languages (Bierman et al., 2014; Vitousek et al., 2014), but due to their heavy use of dynamic language constructs and the absence of principal types (Ancona & Zucca, 2004), compilers cannot perform type inference using standard…”
- Practical Optional Types for Clojure (2016, methodology): “Vitousek, M.M., Kent, A.M., Siek, J.G., Baker, J.: Design and evaluation of gradual typing for Python.”
- Inference and Evolution of TypeScript Declaration Files (2017, background): “Other languages, such as typed dialects of Python [23,10], Scheme [21], Clojure [5], Ruby [12], and Flow for JavaScript[7], have similar challenges with types and cross-language library interoperability, though not (yet) at the same scale as TypeScript.”
- Learning type annotation: is big data enough? (2021, background): “Gradual typing [6, 23, 24] is gaining popularity, in programming languages like Python and JavaScript.”
- SimTyper: sound type inference for Ruby using type equality prediction (2021, background): “Many researchers have explored ways to add static types to dynamic languages, aiming to provide the benefits of static typing while preserving the flexibility of the language [Aiken et al. 1994; Cartwright and Fagan 1991; Flanagan and Felleisen 1997; Kazerounian et al. 2019; Lerner et al. 2013; Ren ”
- Sound, heuristic type annotation inference for Ruby (2020, background): “Many researchers have explored ways to add static types to dynamic languages [3, 4, 15, 19, 29, 31, 36, 37], to help programmers find and prevent type errors.”
- Type inference for static compilation of JavaScript (2016, background): “The type checks could “fail fast” at any violation, like in other work on gradual typing [36, 41, 44].”
- Type test scripts for TypeScript testing (2017, methodology): “Type systems have been developed also for other dynamically typed languages than JavaScript, including Scheme [Tobin-Hochstadt and Felleisen 2008] and Python [Lehtosalo et al. 2016; Vitousek et al. 2014].”