Since LISP, dynamic languages have supported dynamically checked type annotations. Even in dynamic languages, these annotations are typically static: tests are restricted to checking low-level features of objects and values, such as primitive types or membership of an explicit programmer-defined class.
We propose much more dynamic types for dynamic languages—first-class objects that programmers can customise, that can be composed with other types and depend on computed values—and to use these first-class type-like values as types. In this way programs can define their own conceptual models of types, extending both the kinds of tests programs can make via types, and the guarantees those tests can provide. Building on a comprehensive pattern-matching system and leveraging standard language syntax lets these types be created, composed, applied, and reused straightforwardly, so programmers can use these truly dynamic first-class types to make their programs easier to read, understand, and debug.
Sun 20 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | First-class Dynamic TypesResearch Paper DLS 2019 Michael Homer Victoria University of Wellington, Timothy Jones Montoux, James Noble Victoria University of Wellington Pre-print Media Attached | ||
11:30 30mTalk | Language-independent Development Environment Support For Dynamic RuntimesExperience Paper DLS 2019 Daniel Stolpe Hasso-Plattner-Institut, Tim Felgentreff Oracle Labs, Potsdam, Christian Humer Oracle Labs, Switzerland, Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany Pre-print Media Attached | ||
12:00 30mTalk | Optimizing and Evaluating Transient Gradual TypingResearch Paper DLS 2019 Michael M. Vitousek Indiana University, Jeremy G. Siek Indiana University, USA, Avik Chaudhuri Facebook, USA Media Attached |