Over the course of your first few couple of years as PhD student, you must read some of the papers that shaped your advisor's mental image of the research landscape---in addition to the papers that your group has published on the relevant topic (in the widest sense). If you decide to work on one of projects your advisor proposes, these readings equip you with the proper background and help you shape your impressions of what is going on. If you decide to bring something new to your advisor's world, you still need to know how to approach him, how to communicate your ideas effectively. The key to effective communication is to know how your advisor thinks and why he thinks so.
I have classified the paper into those categories that are near and dear to my heart. I don't love these papers, some I loathe for their lack of precision, acknowledgment of historical debt, or sloppy writing. Nevertheless, they left an impression, so they have somehow become a part of the group's vocabulary. In addition, learning to distinguish good papers from "must read even though I dislike them" papers may help you develop your own taste.
Note A paper on this list may not be not essential to your dissertation research. It is unlikely to introduce you to modern ways of dealing with my topics of interest. It is unlikely to be fashionable. It is improbable that you will cite it in your dissertation. But, I consider the paper worth your while; reading it is good for your soul.
Felleisen, Findler, Flatt, Krishnamurthi, Barzilay, McCarthy, Tobin-Hochstadt. The Racket Manifesto. SNAPL 2015. url
Dybvig, Hieb, and Bruggeman. Syntactic abstraction in Scheme. Lisp and Symbolic Computation,1993. 5(4), 295-–326. url
Flatt. Composable and compilable macros:: you want it when? ICFP 2002, 72--83. url
Flatt. Binding as Sets of Scopes. POPL 2016, ??--??. [url](to appear)
Fagan and Cartwright. Soft typing. PLDI 1991, 278--292. url
Flanagan. Hybrid type checking. POPL 2006, 245--256. url
Gray, Findler, Flatt. Fine-grained interoperability through mirrors and contracts. OOPSLA 2005, 231--245. url
Matthews and Findler. Operational semantics for multi-language programs. Transactions on Programming Languages and Systems 2009, 31(3), 1--44. url
Siek and Taha. Gradual typing for functional languages. Scheme and Functional Programming, 2006, 81--92. url Note: read with Tobin-Hochstadt/Felleisen, DLS, 2006
Wright and Cartwright. A practical soft type system for Scheme. Transactions on Programming Languages and Systems 1997, 19(1), 87--152. url
Bracha and Cook. Mixin-based inheritance. OOPSLA/ECCOP 1990, 303--311. url
Harper and Lillibridge. A type-theoretic approach to higher-order modules with sharing. POPL 1994, 123--137. url
Leroy. Manifest types, modules, and separate compilation. POPL 1994, 109--122. url
Georges, Buytaert, and Eeckhout. Statistically rigorous Java performance evaluation. OOPSLA 2007, 57--76. url
Mytkowicz, Diwan, Hauswirth, and Sweeney. Producing wrong data without doing anything obviously wrong! ASPLOS 2009, 265--276. url
Vitek and Kalibera. R3: Repeatability, Reproducibility and Rigor. SIGPLAN Noices 2012 47(4a), 30--36. url
Blackburn et al. The DaCapo benchmarks: Java benchmarking development and analysis. OOPSLA 2006, 169--190. url
Plotkin. LCF considered a programming language. Theoretical Computer Science, 1977, 5, 223--255. url
One of:
-
Krishnamurthi. Programming Languages: Applications and Implementations. url
-
Friedman and Wand. Essentials of Programming Languages. url
Felleisen, Findler, Flatt. Semantics Engineering [Parts I and II]. MIT Press. 2011. url
Pierce. Types and Programming Languages. MIT Press, 2002. url
- Thu Nov 5 10:02:15 EST 2015: added Plotkin, one paper on den sem/domains
- Wed Oct 21 11:39:19 EDT 2015: created