Person. Matthew Might
Papers
Validation of a Diabetes Subtype Classification Model Using Data from U.S. Adults Before and After the COVID-19 Pandemic lu-2026-validation
Exploring a Mechanism-Based Therapeutic Approach for ZC4H2 Haploinsufficiency crowder-2026-exploring
Anti-Parkinsonian Drugs Rescue Locomotor Deficits in JIP3 Knockout Zebrafish: Implications for Treating Patients with MAPK8IP3 -related Neurodevelopmental Disorders foksinska-2025-anti
Characteristics and determinants of pulmonary long COVID patton-2024-characteristics
A Primer in Precision Nephrology: Optimizing Outcomes in Kidney Health and Disease through Data-Driven Medicine jayaraman-2023-a
The precision medicine process for treating rare disease using the artificial intelligence tool mediKanren foksinska-2022-the
Why rare disease needs precision medicine—and precision medicine needs rare disease might-2022-why
High-throughput protein modification quantitation analysis using intact protein MRM and its application on hENGase inhibitor screening tao-2021-high
Structured reviews for data and knowledge-driven research queraltrosinach-2020-structured
Cardioinformatics: the nexus of bioinformatics and precision cardiology khomtchouk-2019-cardioinformatics
Demand Control-Flow Analysis germane-2019-demand
Relatively Complete Pushdown Analysis of Escape Continuations germane-2019-relatively
Neural Guided Constraint Logic Programming for Program Synthesis zhang-2018-neural
Abstract allocation as a unified approach to polyvariance in control-flow analyses gilray-2018-abstract
A posteriori environment analysis with Pushdown Delta CFA germane-2017-a
Pushdown control-flow analysis for free gilray-2016-pushdown
Parsing with derivatives: A functional pearl mightParsingDerivativesFunctional2011
We present a functional approach to parsing unrestricted context-free grammars based on Brzozowski’s derivative of regular expressions. If we consider context-free grammars as recursive regular expressions, Brzozowski’s equational theory extends without modification to context-free grammars (and it generalizes to parser combinators). The supporting actors in this story are three concepts familiar to functional programmers - laziness, memoization and fixed points; these allow Brzozowski’s original equations to be transliterated into purely functional code in about 30 lines spread over three functions.
Yet, this almost impossibly brief implementation has a drawback: its performance is sour - in both theory and practice. The culprit? Each derivative can double the size of a grammar, and with it, the cost of the next derivative.
Fortunately, much of the new structure inflicted by the derivative is either dead on arrival, or it dies after the very next derivative. To eliminate it, we once again exploit laziness and memoization to transliterate an equational theory that prunes such debris into working code. Thanks to this compaction, parsing times become reasonable in practice.
We equip the functional programmer with two equational theories that, when combined, make for an abbreviated understanding and implementation of a system for parsing context-free languages.