12 citations · 24 across the 9 of their papers we have counts for
10 papers
Fungi: Typed incremental computation with names
Matthew A. Hammer, Jana Dunfield, Kyle Headley +2
Incremental computations attempt to exploit input similarities over time, reusing work that is unaffected by input changes. To maximize this reuse in a general-purpose programming…
Live Functional Programming with Typed Holes
Cyrus Omar, Ian Voysey, Ravi Chugh +1
This paper develops a dynamic semantics for incomplete functional programs, starting from the static semantics developed in recent work on Hazelnut. We model incomplete functional…
Toward Semantic Foundations for Program Editors
Cyrus Omar, Ian Voysey, Michael Hilton +4
Programming language definitions assign formal meaning to complete programs. Programmers, however, spend a substantial amount of time interacting with incomplete programs -- progra…
Languages of Play: Towards semantic foundations for game interfaces
Chris Martens, Matthew A. Hammer
Formal models of games help us account for and predict behavior, leading to more robust and innovative designs. While the games research community has proposed many formalisms for…
Refinement types for precisely named cache locations
Matthew A. Hammer, Jana Dunfield, Dimitrios J. Economou +1
Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a "cache location" for a…
miniAdapton: A Minimal Implementation of Incremental Computation in Scheme
Dakota Fisher, Matthew A. Hammer, William Byrd +1
We describe a complete Scheme implementation of miniAdapton, which implements the core functionality of the Adapton system for incremental computation (also known as self-adjusting…
A Vision for Online Verification-Validation
Matthew A. Hammer, Bor-Yuh Evan Chang, David Van Horn
Today's programmers face a false choice between creating software that is extensible and software that is correct. Specifically, dynamic languages permit software that is richly ex…
The Random Access Zipper: Simple, Purely-Functional Sequences
Kyle Headley, Matthew A. Hammer
We introduce the Random Access Zipper (RAZ), a simple, purely-functional data structure for editable sequences. A RAZ combines the structure of a zipper with that of a tree: like a…
Hazelnut: A Bidirectionally Typed Structure Editor Calculus
Cyrus Omar, Ian Voysey, Michael Hilton +2
Structure editors allow programmers to edit the tree structure of a program directly. This can have cognitive benefits, particularly for novice and end-user programmers. It also si…
Self-Adjusting Stack Machines
Matthew A. Hammer, Georg Neis, Yan Chen +1
Self-adjusting computation offers a language-based approach to writing programs that automatically respond to dynamically changing data. Recent work made significant progress in de…