Live briefing
Everything about Gradual typing
Type system
Gradual typing is a type system that allows for both static typing and dynamic typing but enforces types at runtime. Gradual typing allows software developers to choose either type paradigm as appropriate, from within a single language. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Gradual typingA 5-minute orientation
- Skim a recent paper: Gradual Typing for Effect HandlersInfluential work since 2022
- Pick up a classic book: Misal diario y vesperalThe most-reprinted book on the subject
- Read the landmark paper: Space-efficient gradual typingCited 70 times
- Go sideways: Type systemA closely related topic
- Go sideways: Type safetyA closely related topic
📖 Definitions
Noun A type system where some variables are statically-typed and some are dynamically-typed.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Space-efficient gradual typing
Gradual typing with union and intersection types
Gradual typing: a new perspective
On polymorphic gradual typing
Sound gradual typing is nominally alive and well
Sound gradual typing: only mostly dead
Gradual typing for Smalltalk
The VM already knew that: leveraging compile-time knowledge to optimize gradual typing
🆕 Influential since 2022
📚 Books worth reading
Misal diario y vesperalCatholic Church · 1806
PsychologyRobert A. Baron · 1977
Cartesian meditationsEdmund Husserl, Dorion Cairns · 1960
Crooked heartLissa Evans · 2014
Encoding across frontiersEuropean Conference on Encoded Archival Description and Context (EAD and EAC) (2004 Paris, France), European Conference on Encoded Archival · 2005
The Conspirators HierarchyJohn Coleman · 1992
Treaty Occupationay ToxicologySuelen Queiroz · 2010
Direction and position finding by wirelessRonald Keen · 1920
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Type system A programming language consists of a system of allowed sequences of symbols (constructs) together with rules that define how each construct is interpreted…
- Type safety In computer science, type safety is the extent to which a programming language discourages or prevents type errors.[vague] Type-safe languages are sometimes…
- Downcasting In class-based programming, downcasting, or type refinement, is the act of casting a base or parent class reference, to a more restricted derived class…
- Comparison of programming languages (basic instructions) This article compares a large number of programming languages by tabulating their data types, their expression, statement, and declaration syntax, and…
- Generics in Java Generics are a facility of generic programming that were added to the Java programming language in 2004 within version J2SE 5.0. They were designed to…
- C++ syntax The syntax of C++ is the set of rules defining how a C++ program is written and compiled. C++ syntax is largely inherited from the syntax of its ancestor…
- StaDyn StaDyn is an object-oriented general-purpose programming language for the .NET platform that supports both static and dynamic typing in the same programming…
- Constant (computer programming) In computer programming, a constant is a value that is not altered by the program during normal execution. When associated with an identifier, a constant…