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.

Along the way, I’ve been:

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:

  1. Fumola mixes my favorite language features with room for me to grow and play.
  2. OCaml has historically played a significant role in my thinking about programming language design and implementation. Learning about OCaml, and later SML and CML, helped inspire me to wait for graduate school responses in Spring 2005, rather than decide in Fall 2004 to join Amazon after my CS undergrad in Madison.
  3. Rust uniquely blends system-level ideas with layers of practical abstractions.
  4. Motoko captures the essence of autonomous internet agents with a clean, actor-based design.

Every programming language was created for some reason. The variety of ideas that coexist together in each one language, and across distinct ones, gives each a deeper sense of identity.

Projects#

Hazel#

Hazel is a live functional programming environment: every edit state has a meaning, so a program has a result even while it is incomplete. I co-authored the first Hazel papers and its founding grants, around 2017.

Adapton#

Adapton is a programming abstraction for incremental computation: a program's results are kept with the dependencies that produced them, so a change reaches exactly the parts that read it.

Fumola#

Fumola is my current language, with Adapton's primitives built in. It also runs inside Hazel documents, as described on its Hazel integration page.