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
|First-class Dynamic TypesResearch Paper|
Michael Homer Victoria University of Wellington, Timothy Jones Montoux, James Noble Victoria University of WellingtonPre-print Media Attached
|Language-independent Development Environment Support For Dynamic RuntimesExperience Paper|
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), GermanyPre-print Media Attached
|Optimizing and Evaluating Transient Gradual TypingResearch Paper|
Michael M. Vitousek Indiana University, Jeremy G. Siek Indiana University, USA, Avik Chaudhuri Facebook, USAMedia Attached