Publications
Matthew A. Hammer: papers, a thesis, reports and preprints, newest first.
Papers
- ILC: A Calculus for Composable, Computational Cryptography Kevin Liao, Matthew A. Hammer and Andrew Miller Programming Language Design and Implementation (PLDI 2019). June 2019. Also: IACR ePrint 2019/402.
- Live Functional Programming with Typed Holes Cyrus Omar, Ian Voysey, Ravi Chugh and Matthew A. Hammer Principles of Programming Languages (POPL 2019), PACMPL 3. January 2019. Also: arXiv:1805.00155.
- Languages of Play: Towards Semantic Foundations for Game Interfaces Chris Martens and Matthew A. Hammer Foundations of Digital Games (FDG 2017). Cape Cod, Massachusetts. August 2017. Also: ACM DL.
- Toward Semantic Foundations for Program Editors Cyrus Omar, Ian Voysey, Michael Hilton, Joshua Sunshine, Claire Le Goues, Jonathan Aldrich and Matthew A. Hammer Summit on Advances in Programming Languages (SNAPL 2017). Monterey, California. May 2017.
- Hazelnut: A Bidirectionally Typed Structure Editor Calculus Cyrus Omar, Ian Voysey, Michael Hilton, Jonathan Aldrich and Matthew A. Hammer Principles of Programming Languages (POPL 2017). Paris, France. January 2017. Also: the Hazel project, the implementation in OCaml/JavaScript and the proofs in Agda.
- A Vision for Online Verification-Validation Matthew A. Hammer, Bor-Yuh Evan Chang and David Van Horn Generative Programming: Concepts & Experience (GPCE 2016). October 2016. Also: the prototype implementation in Rust.
- The Random Access Zipper: Simple, Persistent Sequences Kyle Headley and Matthew A. Hammer Trends in Functional Programming (TFP 2016). Also: Springer and the implementation in OCaml.
- Incremental Computation with Names Matthew A. Hammer, Jana Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks and David Van Horn Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2015). Pittsburgh, Pennsylvania. October 2015. Also: ACM DL.
- Adapton: Composable, Demand-Driven Incremental Computation Matthew A. Hammer, Yit Phang Khoo, Michael Hicks and Jeffrey S. Foster Programming Language Design and Implementation (PLDI 2014). Edinburgh, Scotland. June 2014. Also: the OCaml implementation and the slides from the PLDI talk.
- Wysteria: A Programming Language for Generic, Mixed-Mode Multiparty Computations Aseem Rastogi, Matthew A. Hammer and Michael Hicks IEEE Symposium on Security and Privacy (Oakland 2014). May 2014. Also: the Wysteria code repository, and a Dagstuhl presentation (December 2014) at The Synergy Between Programming Languages and Cryptography (Seminar 14492).
- Implicit Self-Adjusting Computation for Purely Functional Programs Yan Chen, Jana Dunfield, Matthew A. Hammer and Umut A. Acar Journal of Functional Programming 24. 2014. This article expands and corrects our ICFP 2011 paper.
- Knowledge Inference for Optimizing Secure Multi-Party Computation Aseem Rastogi, Piotr Mardziel, Matthew A. Hammer and Michael Hicks Programming Languages and Analysis for Security (PLAS 2013). Seattle, Washington. June 2013.
- Self-Adjusting Stack Machines Matthew A. Hammer, Georg Neis, Yan Chen and Umut A. Acar Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2011). Portland, Oregon. October 2011.
- Implicit Self-Adjusting Computation for Purely Functional Programs Yan Chen, Jana Dunfield, Matthew A. Hammer and Umut A. Acar International Conference on Functional Programming (ICFP 2011). Tokyo, Japan. September 2011. Also see our JFP 2014 article.
- CEAL: A C-Based Language for Self-Adjusting Computation Matthew A. Hammer, Umut A. Acar and Yan Chen Programming Language Design and Implementation (PLDI 2009). Dublin, Ireland. June 2009.
- Memory Management for Self-Adjusting Computation Matthew A. Hammer and Umut A. Acar International Symposium on Memory Management (ISMM 2008). Tucson, Arizona. June 2008.
- A Proposal for Parallel Self-Adjusting Computation Matthew A. Hammer, Umut A. Acar, Mohan Rajagopalan and Anwar Ghuloum Declarative Aspects of Multicore Programming (DAMP 2007). Nice, France. January 2007. Also: ps.gz.
- Running Quake II on a Grid Glenn Deen, Matthew A. Hammer, John Bethencourt, Iris Eiron, John C. Thomas and James H. Kaufman IBM Systems Journal 45 (2006). Some press: Technology Review, eWeek, Slashdot (2003) and Slashdot (2005).
Thesis
- Self-Adjusting Machines Matthew A. Hammer Ph.D. dissertation, University of Chicago. December 2012. It describes the design and implementation of CEAL, a C-based language for self-adjusting computation: a family of language-based techniques for incremental computation, where programs that look conventional consume and produce data that changes over time.
Reports and preprints
- Fungi: Typed Incremental Computation with Names Matthew A. Hammer, Jana Dunfield, Kyle Headley, Monal Narasimhamurthy and Dimitrios J. Economou Draft, July 2018. Also: arXiv:1808.07826.
- Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402) Camil Demetrescu, Sebastian Erdweg, Matthew A. Hammer and Shriram Krishnamurthi Dagstuhl Reports 6(10). 2016.
- Typed Adapton: Refinement Types for Nominal Memoization Matthew A. Hammer and Jana Dunfield Preprint, October 2016. Also: arXiv:1610.00097.
- miniAdapton: A Minimal Implementation of Incremental Computation in Scheme Dakota Fisher, Matthew A. Hammer, William E. Byrd and Matthew Might Preprint, September 2016.