|[DLS-2006]||Sam Tobin-Hochstadt and Matthias Felleisen, “Interlanguage Migration: from Scripts to Programs,” Dynamic Languages Symposium, 2006. https://www2.ccs.neu.edu/racket/pubs/dls06-tf.pdf|
Presents the original model for module-level gradual typing. In the model, one typed module may interact with any number of untyped modules. A type soundness theorem guarantees the integrity of all typed code.
|[SFP-2007]||Ryan Culpepper, Sam Tobin-Hochstadt, and Matthew Flatt, “Advanced Macrology and the Implementation of Typed Scheme,” Workshop on Scheme and Functional Programming, 2007. https://www2.ccs.neu.edu/racket/pubs/scheme2007-ctf.pdf|
Describes the key macros that enabled Typed Racket.
|[POPL-2008]||Sam Tobin-Hochstadt and Matthias Felleisen, “The Design and Implementation of Typed Scheme,” Symposium on Principles of Programming Languages, 2008. https://www2.ccs.neu.edu/racket/pubs/popl08-thf.pdf|
Contains a model of core Typed Racket (with a simple form of occurrence typing) and an extended discussion about scaling the model to a language.
|[ESOP-2009]||T. Stephen Strickland, Sam Tobin-Hochstadt, and Matthias Felleisen, “Practical Variable-Arity Polymorphism,” European Symposium on Programming, 2009. https://www2.ccs.neu.edu/racket/pubs/esop09-sthf.pdf|
Explains how to type-check a polymorphic function that accepts any number of arguments (such as map).
|[ICFP-2010]||Sam Tobin-Hochstadt and Matthias Felleisen, “Logical Types for Untyped Languages,” International Conference on Functional Programming, 2010. https://www2.ccs.neu.edu/racket/pubs/icfp10-thf.pdf|
Presents a compositionas occurrence typing system and comments on its implementation in Typed Racket.
|[Tobin-Hochstadt]||Sam Tobin-Hochstadt, “Typed Scheme: From Scripts to Programs,” Ph.D. dissertation, 2010. https://www2.ccs.neu.edu/racket/pubs/dissertation-tobin-hochstadt.pdf|
|[PLDI-2011]||Sam Tobin-Hochstadt, Vincent St-Amour, Ryan Culpepper, Matthew Flatt, and Matthias Felleisen, “Languages as Libraries,” Conference on Programming Language Design and Implementation, 2011. https://www2.ccs.neu.edu/racket/pubs/pldi11-thacff.pdf|
Motivates the use of macros to define a language and summarizes the Typed Racket type checker and optimizer.
|[OOPSLA-2012]||Asumu Takikawa, T. Stephen Strickland, Christos Dimoulas, Sam Tobin-Hochstadt, and Matthias Felleisen, “Gradual Typing for First-Class Classes,” Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2012. https://www2.ccs.neu.edu/racket/pubs/oopsla12-tsdthf.pdf|
Presents a model of typed classes that can interact with untyped classes through method calls, inheritance, and mixins.
|[PADL-2012]||Vincent St-Amour, Sam Tobin-Hochstadt, Matthew Flatt, and Matthias Felleisen, “Typing the Numeric Tower,” International Symposium on Practical Aspects of Declarative Languages, 2012. https://www2.ccs.neu.edu/racket/pubs/padl12-stff.pdf|
Motivates the built-in types for numbers and numeric primitives.
|[ESOP-2013]||Asumu Takikawa, T. Stephen Strickland, and Sam Tobin-Hochstadt, “Constraining Delimited Control with Contracts,” European Symposium on Programming, 2013. https://www2.ccs.neu.edu/racket/pubs/esop13-tsth.pdf|
Shows how to type check the % and fcontrol operators in the presence of continuation marks.
|[ECOOP-2015]||Asumu Takikawa, Daniel Feltey, Earl Dean, Robert Bruce Findler, Matthew Flatt, Sam Tobin-Hochstadt, and Matthias Felleisen, “Toward Practical Gradual Typing,” European Conference on Object-Oriented Programming, 2015. https://www2.ccs.neu.edu/racket/pubs/ecoop2015-takikawa-et-al.pdf|
Presents an implementation, experience report, and performance evaluation for gradually-typed first-class classes.
|[PLDI-2016]||Andrew Kent and Sam Tobin-Hochstadt, “Occurrence Typing Modulo Theories,” Conference on Programming Language Design and Implementation, 2016. https://dl.acm.org/citation.cfm?id=2908091|
Adds linear integer constraints to Typed Racket’s compositional occurrence typing.
|[Takikawa]||Asumu Takikawa, “The Design, Implementation, and Evaluation of a Gradual Type System for Dynamic Class Composition,” Ph.D. dissertation, 2016. https://www2.ccs.neu.edu/racket/pubs/dissertation-takikawa.pdf|
|[POPL-2017]||Stephen Chang, Alex Knauth, and Emina Torlak, “Symbolic Types for Lenient Symbolic Execution,” Symposium on Principles of Programming Languages, 2017. https://www2.ccs.neu.edu/racket/pubs/popl18-ckt.pdf|
Presents a typed version of Rosette that distinguishes between concrete and symbolic values. The type system supports occurrence typing.
|[SNAPL-2017]||Sam Tobin-Hochstadt, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Ben Greenman, Andrew M. Kent, Vincent St-Amour, T. Stephen Strickland, and Asumu Takikawa, “Migratory Typing: Ten Years Later,” Summit oN Advances in Programming Languages, 2017. https://www2.ccs.neu.edu/racket/pubs/typed-racket.pdf|
Reflects on origins and successes; looks ahead to current and future challenges.