Skip to content

Latest commit

 

History

History
166 lines (131 loc) · 5.49 KB

mf-s-list.md

File metadata and controls

166 lines (131 loc) · 5.49 KB

Matthias's List for New or Aspiring PhD Students

What and Why

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.

Vision

Felleisen, Findler, Flatt, Krishnamurthi, Barzilay, McCarthy, Tobin-Hochstadt. The Racket Manifesto. SNAPL 2015. url

Syntax Extensions and Macros

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)

Gradual Typing [Language Design]

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

Modules and Mixins [Language Design]

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

Performance Evaluation

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

Semantics

Plotkin. LCF considered a programming language. Theoretical Computer Science, 1977, 5, 223--255. url

Books You Should Know Before You Start

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


changelog

  • 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