Reference. Is Sound Gradual Typing Dead?
Cite
Cited by (4)
Gradual Typing for Effect Handlers new_giovannini_licata_2023
We present a gradually typed language, GrEff, with effects and handlers that supports migration from unchecked to checked effect typing. This serves as a simple model of the integration of an effect typing discipline with an existing effectful typed language that does not track fine-grained effect information. Our language supports a simple module system to model the programming model of gradual migration from unchecked to checked effect typing in the style of Typed Racket.
The surface language GrEff is given semantics by elaboration to a core language Core GrEff. We equip Core GrEff with an inequational theory for reasoning about the semantic error ordering and desired program equivalences for programming with effects and handlers. We derive an operational semantics for the language from the equations provable in the theory. We then show that the theory is sound by constructing an operational logical relations model to prove the graduality theorem. This extends prior work on embedding-projection pair models of gradual typing to handle effect typing and subtyping.
Gradual Type Theory new_licata_ahmed_2021
A Semantic Foundation for Sound Gradual Typing new_dissertation_2020
How to evaluate the performance of gradual type systems greenman_etal_2019
Cites 28 works (0 here)
External (28)
- Pycket: A Tracing JIT For a Functional Language (2015)
- Safe & Efficient Gradual Typing for TypeScript (2015)
- Concrete Types for TypeScript (2015)
- Feature-specific Profiling (2015)
- Towards Practical Gradual Typing (2015)
- Confined Gradual Typing (2014)
- Typed Lua: An Optional Type System for Lua (2014)
- Soft Contract Verification (2014)
- Design and Evaluation of Gradual Typing for Python (2014)
- Gradual typing for Smalltalk (2013)
- Cast Insertion Strategies for Gradually-Typed Objects (2013)
- A Practical Optional Type System for Clojure (2012)
- The Impact of Optional Type Information on JIT Compilation of Dynamically Typed Languages (2011)
- Languages as Libraries (2011)
- Threesomes, with and without blame (2010)
- Integrating Typed and Untyped Code in a Scripting Language (2010)
- Thorn: Robust, Concurrent, Extensible Scripting on the JVM (2009)
- Practical Pluggable Types for Java (2008)
- Gradual Typing for Functional Languages (2006)
- Interlanguage Migration: from Scripts to Programs (2006)
- Pluggable Type Systems (2004)
- Contracts for Higher-Order Functions (2002)
- Safe Polymorphic Type Inference for a Dynamically Typed Language: Translating Scheme to ML (1995)
- A Syntactic Approach to Type Soundness (1994)
- Strongtalk: Typechecking Smalltalk in a Production Environment (1993)
- Dynamic Typing in a Statically Typed Language (1991)
- MACLISP Reference Manual (1974)
- The Methodology of Evaluation (1967)