Gradual Typing for Functional Languages
By Jeremy G. Siek, Walid Taha. 2006
Subfields: Program Analysis & Verification, 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 Program Analysis & Verification
- Arjun Guha
- Jeffrey S. Foster
- Erik Krogh Kristensen
- Ming-Ho Yee
- Anders Møller
- Carolyn Jane Anderson
- Luna Phipps-Costin
- Michael Greenberg
In Software Engineering
- Arjun Guha
- Erik Krogh Kristensen
- Anders Møller
- Jeffrey S. Foster
- Milod Kazerounian
- Jong-hoon An
- Michael Furr
- Matteo Cimini
Citations in the corpus
- Static type inference for Ruby (2009, methodology): “Our vision of DRuby was inspired by an exciting body of recent work on mixing static and dynamic typing, including ideas such as soft typing [14], the dynamic type [2], gradual typing [33], and contracts [16].”
- Dynamic inference of static types for ruby (2011, unknown): “, via quasi-static typing [26], occurrence typing [29], gradual typing [25], and hybrid typing [13].”
- Principal Type Schemes for Gradual Programs (2015, methodology): “Rastogi et al. begin with a gradually typed language in the style of (Siek and Taha 2006), where missing type annotations are syntactic sugar for ? annotations, and extend it with support for type inference.”
- Gradual Soundness: Lessons from Static Python (2022, background): “The original gradual typing vision is to find a best-of-both-worlds combination of typed and untyped code [24, 35, 52, 60].”
- Gradual typing: a new perspective (2019, methodology): “Denoting by ⊢ST the typing judgments obtained in the system of Siek and Taha [2006], and by ⊢1 the typing judgments obtained in the monomorphic implicative restriction of our system shown in Figure 7, we have the following result:”
- Design and evaluation of gradual typing for python (2014, methodology): “The Reticulated type system allows implicit casts to and from Dyn, as specified by the consistency relation [26].”
- OptTyper: Probabilistic Type Inference by Optimising Logical and Natural Constraints (2020, methodology): “Retrofit for dynamic languages, these type systems include gradual [Siek and Taha 2006] and optional type systems [Bracha 2004].”
- Gradual Typing for Objects (2007, background): “Static typing provides full-coverage error detection, efficient execution, and machine-checked documentation whereas dynamic typing enables rapid development and fast adaptation to changing requirements.”
- Hybrid type checking (2006, background): “Siek and Taha independently developed a system of gradual typing [Siek and Taha 2006; 2007] that combines dynamic and static typing via casts similar to ours.”
- The Design and Implementation of Typed Scheme: From Scripts to Programs (2011, unknown): “Under the name “gradual typing”, several other researchers have experimented with the integration of typed and untyped code (Siek and Taha, 2006; Herman et al, 2008; Wadler and Findler, 2009; Wrigstad et al, 2009).”
- Migrating gradual types (2017, background): “Siek and Vachharajani (2008) and Garcia and Cimini (2015) further investigated gradual typing in the presence of type inference.”
- The ins and outs of gradual type inference (2012, background): “The Ins and Outs of Gradual Type Inference Aseem Rastogi Stony Brook University arastogi@cs.stonybrook.edu Abstract Gradual typing lets programmers evolve their dynamically typed programs by gradually adding explicit type annotations, which confer bene.ts like improved performance and fewer…”
- The ruby type checker (2013, background): “Similarly, gradual type systems [12] like those for Scheme [15] and Thorn [6] pair a dynamically typed language with a sister, statically typed language.”
- Mixed Messages: Measuring Conformance and Non-Interference in TypeScript (2017, unknown): “The theory of gradual typing has been extended to support references [24], objects [23], refinement types [39], polymorphism [1], intersections and unions [13].”
- Toward Semantic Foundations for Program Editors (2017, background): “There is some precedent for this: research in gradual typing considers the dynamic semantics of programs with holes in types, and our proposed static semantics for incomplete programs borrows technical machinery from theoretical work on gradual typing [45].”
- JSTrace: Run-time Type Discovery for JavaScript (2010, background): “Mixing static and dynamic code Gradual Typing [23] attempts to migrate code to use static types.”