Bibliography
[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). | |
[TOPLAS-2009] | Jacob Matthews and Robert Bruce Findler, “Operational Semantics for Multi-Language Programs,” ACM Transactions on Programming Languages and Systems, 2009. https://users.cs.northwestern.edu/~robby/pubs/papers/toplas09-mf.pdf | |
[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. | |
[RP:DLS-2014] | Michael M. Vitousek, Andrew Kent, Jeremy G. Siek, and Jim Baker, “Design and Evaluation of Gradual Typing for Python,” Dynamic Languages Symposium, 2014. https://dl.acm.org/doi/10.1145/2775052.2661101 | |
[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. | |
[ESOP-2016] | Ambrose Bonnaire–Sergeant, Rowan Davies, and Sam Tobin-Hochstadt, “Practical Optional Types for Clojure,” European Symposium on Programming, 2016. https://link.springer.com/chapter/10.1007/978-3-662-49498-1_4 | |
[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 | |
[RP:POPL-2017] | Michael M. Vitousek, Cameron Swords, and Jeremy G. Siek, “Big Types in Little Runtime: Open-World Soundness and Collaborative Blame for Gradual Type Systems,” Symposium on Principles of Programming Languages, 2017. https://dl.acm.org/doi/abs/10.1145/3009837.3009849 | |
[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. | |
[KafKa-2018] | Benjamin W. Chung, Paley Li, Francesco Zappa Nardelli, and Jan Vitek, “KafKa: Gradual Typing for Objects,” European Conference on Object-Oriented Programming, 2018. https://drops.dagstuhl.de/opus/volltexte/2018/9217/ | |
[Kent-2019] | Andrew M. Kent, “Advanced Logical Type Systems for Untyped Languages,” Ph.D. dissertation, 2019. https://pnwamk.github.io/docs/dissertation.pdf | |
[RP:Vitousek-2019] | Michael M. Vitousek, “Gradual Typing for Python, Unguarded,” Ph.D. dissertation, 2019. https://hdl.handle.net/2022/23172 | |
[OOPSLA-2019] | Ben Greenman, Matthias Felleisen, and Christos Dimoulas, “Complete Monitors for Gradual Types,” Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2019. https://www2.ccs.neu.edu/racket/pubs/oopsla19-gfd.pdf | |
[RP:DLS-2019] | Michael M. Vitousek, Jeremy G. Siek, and Avik Chaudhuri, “Optimizing and Evaluating Transient Gradual Typing,” Dynamic Languages Symposium, 2019. https://dl.acm.org/doi/10.1145/3359619.3359742 | |
[Bonnaire-Sergeant-2019] | Ambrose Bonnaire–Sergeant, “Typed Clojure in Theory and Practice,” Ph.D. dissertation, 2019. https://scholarworks.iu.edu/dspace/handle/2022/23207 | |
[Greenman-2020] | Ben Greenman, “Deep and Shallow Types,” Ph.D. dissertation, 2020. http://hdl.handle.net/2047/D20398329 | |
[Programming-2022] | Ben Greenman, Lukas Lazarek, Christos Dimoulas, and Matthias Felleisen, “A Transient Semantics for Typed Racket,” The Art, Science, and Engineering of Programming 6.2, 2022. https://www2.ccs.neu.edu/racket/pubs/programming-gldf.pdf Reports on the difficulties of adapting the Transient semantics of Reticulated Python to the rich migratory type system and established complier infrastructure of Typed Racket. | |
[PLDI-2022] | Ben Greenman, “Deep and Shallow Types for Gradual Languages,” Conference on Programming Language Design and Implementation, 2022. http://cs.brown.edu/~bgreenma/publications/apples-to-apples/g-pldi-2022.pdf Presents a language design that combines Deep and Shallow types, and reports on its implementation in Typed Racket. |