Matthew Hammer
Independent Researcher • Educator
Welcome
I’m Matthew Hammer, an independent researcher excited by modern programming languages, including their mathematical designs and practical implementations.
In the past, I've been:
- A student, learning at
- University of Chicago (PhD)
- MPI-SWS (PhD, visiting student) and
- UMD (post doc researcher).
- An assistant professor, at CU Boulder, 2015 to 2019
- A researcher and engineer, at DFINITY Foundation, 2019 to 2023
- An independent researcher, 2023 to today.
Languages
Languages are tools for linking thoughts and actions; programming languages are communication tools that link our thoughts and actions with machines.
The following is an incomplete list of languages that play a unique role in my life, and thought processes:
- Rust uniquely blends system-level ideas with layers of practical abstractions.
- Motoko captures the essence of autonomous internet agents with a clean, actor-based design.
- Koka explores how effect handlers can compositionally express a wide variety of ideas in PL semantics.
As I look into my heart and consider the recent past, and recent future of programming language design and implementation, this is the list that emerges as most exciting (the three languages listed above).
Of course, every programming language was created for some reason, and the variety of ideas that coexist together gives each one part a deeper sense of identity, through comparison and contrast with the rest. With that in mind, my short list is hopefully useful as a shorthand for understanding other languages that I might be enjoying too, though they are not captured in the short list above.
As one notable example, OCaml has historically played a significant role in my thinking about programming language design and implementation. Today, I often either choose Motoko or Rust to express ideas that I may have used OCaml for in the past, but my love for OCaml continues.