Matthew A. Hammer
YOU?
Author Swipe
View article: Recent Judicial Decisions of Interest to Energy Lawyers
Recent Judicial Decisions of Interest to Energy Lawyers Open
This article summarizes recent judicial decisions of interest to energy lawyers. The authors review and comment on case law from the past year in several areas including: arbitration, bankruptcy and insolvency, class actions, competition l…
View article: Control of antibody orientation on graphene using porphyrin linker molecules for high-performance graphene-based immuno-biosensors
Control of antibody orientation on graphene using porphyrin linker molecules for high-performance graphene-based immuno-biosensors Open
The appropriate orientation of antibodies on the graphene surface is critical for the high performance of graphene biosensors. In this paper, we show that a predominantly vertical orientation of antibodies to the graphene surface can be ac…
View article: Multifunctional profiling of triple-negative breast cancer patient-derived tumoroids for disease modeling
Multifunctional profiling of triple-negative breast cancer patient-derived tumoroids for disease modeling Open
3D cell models derived from patient tumors are highly translational tools that can recapitulate the complex genetic and molecular compositions of solid cancers and accelerate identification of drug targets and drug testing. However, the co…
View article: Live functional programming with typed holes
Live functional programming with typed holes Open
Live programming environments aim to provide programmers (and sometimes audiences) with continuous feedback about a program's dynamic behavior as it is being edited. The problem is that programming languages typically assign dynamic meanin…
View article: Fungi: Typed incremental computation with names
Fungi: Typed incremental computation with names Open
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 setting, programmers need a mechanism to identify dynamic a…
View article: Toward Semantic Foundations for Program Editors
Toward Semantic Foundations for Program Editors Open
Programming language definitions assign formal meaning to complete programs. Programmers, however, spend a substantial amount of time interacting with incomplete programs -- programs with holes, type inconsistencies and binding inconsisten…
View article: Languages of Play: Towards semantic foundations for game interfaces
Languages of Play: Towards semantic foundations for game interfaces Open
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 both the "game half" (game models, game description languag…
View article: Toward Semantic Foundations for Program Editors
Toward Semantic Foundations for Program Editors Open
Programming language definitions assign formal meaning to complete programs. Programmers, however, spend a substantial amount of time interacting with incomplete programs - programs with holes, type inconsistencies and binding inconsistenc…
View article: Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402)
Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402) Open
Incremental computations are those that process input changes faster than naive computation that runs from scratch, and reactive computations consist of interactive behavior that varies over time. Due to the importance and prevalence of in…
View article: Hazelnut: a bidirectionally typed structure editor calculus
Hazelnut: a bidirectionally typed structure editor calculus Open
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 simplifies matters for tool designers, because they do not ne…
View article: A vision for online verification-validation
A vision for online verification-validation Open
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 extensible (via dynamic code loading, dynamic object extensio…
View article: Refinement types for precisely named cache locations
Refinement types for precisely named cache locations Open
Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a "cache location" for a dynamic data value or a sub-computation; in sum, these cac…
View article: Typed Adapton: Refinement types for nominal memoization of purely functional incremental programs
Typed Adapton: Refinement types for nominal memoization of purely functional incremental programs Open
Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a for a dynamic data value or a sub-computation; in sum, these cache location cho…
View article: Typed Adapton: Refinement types for nominal memoization.
Typed Adapton: Refinement types for nominal memoization. Open
Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a for a dynamic data value or a sub-computation; in sum, these cache location cho…
View article: miniAdapton: A Minimal Implementation of Incremental Computation in Scheme
miniAdapton: A Minimal Implementation of Incremental Computation in Scheme Open
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 computation). Like Adapton, miniAdapton allows programmers…
View article: The Random Access Zipper: Simple, Purely-Functional Sequences
The Random Access Zipper: Simple, Purely-Functional Sequences Open
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 zipper, edits at the cursor require constant time; by leve…
View article: A Vision for Online Verification-Validation
A Vision for Online Verification-Validation Open
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 extensible (via dynamic code loading, dynamic object extensio…
View article: Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402)
Programming Language Techniques for Incremental and Reactive Computing (Dagstuhl Seminar 16402) Open
Incremental computations are those that process input changes faster than naive computation that runs from scratch, and reactive computations consist of interactive behavior that varies over time. Due to the importance and prevalence of in…