VLDB 2026 Research / reviewers in the wild / expert
Brent A. Yorgey
dblp:88/10167
· DBLP profile ↗
9ranked-venue papers
5as first author
2since 2021 · last 2025
0009-0005-0135-6134ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 5 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 1Theory of computation · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | You could have invented Fenwick treesabstractAbstract Fenwick trees , also known as binary indexed trees are a clever solution to the problem of maintaining a sequence of values while allowing both updates and range queries in sublinear time. Their implementation is concise and efficient—but also somewhat baffling, consisting largely of nonobvious bitwise operations on indices. We begin with segment trees , a much more straightforward, easy-to-verify, purely functional solution to the problem, and use equational reasoning to explain the implementation of Fenwick trees as an optimized variant, making use of a Haskell EDSL for operations on infinite two’s complement binary numbers. Brent A. Yorgey |
J. Funct. Program. | 1 |
| 2025 | Review of "Haskell in Depth" by Vitaly Bragilevsky, Manning Publications, 2021abstractReview of "Haskell in Depth" by Brent A. Yorgey |
J. Funct. Program. | 1 |
| 2018 | What's the difference? a functional pearl on subtracting bijectionsabstractIt is a straightforward exercise to write a program to "add" two bijections---resulting in a bijection between two sum types, which runs the first bijection on elements from the left summand and the second bijection on the right. It is much less obvious how to "subtract" one bijection from another. This problem has been studied in the context of combinatorics, with several computational principles known for producing the "difference" of two bijections. We consider the problem from a computational and algebraic perspective, showing how to construct such bijections at a high level, avoiding pointwise reasoning or being forced to construct the forward and backward directions separately---without sacrificing performance. Brent A. Yorgey, Kenneth Foner |
Proc. ACM Program. Lang. | 1 |
| 2016 | How to twist pointers without breaking themabstractUsing the theory of monoids and monoid actions, we give a unified framework that handles three common pointer manipulation tasks, namely, data serialisation, deserialisation, and memory allocation. Our main theoretical contribution is the formulation of the notion of a twisted functor, a generalisation of the semi-direct product construction for monoids. We show that semi-direct products and twisted functors are particularly well suited as an abstraction for many pointer manipulation tasks. Satvik Chauhan, Piyush P. Kurur, Brent A. Yorgey |
Haskell | 3 |
| 2015 | Polynomial Functors Constrained by Regular Expressions
Dan Piponi, Brent A. Yorgey |
MPC | 2 |
| 2014 | Making induction meaningful, recursively (abstract only)abstractInduction is a notoriously difficult topic for beginning computer science students to understand. Even if they can produce an inductive proof of some mathematical fact, many students never see the relevance of inductive reasoning outside of the classroom for anything beyond the natural numbers. This is unfortunate because inductive reasoning is closely intertwined with algorithm design and one of the cornerstones of reasoning about (recursive) programs. With the adoption of functional programming into the CS curricula core, it is a good time to revisit how we teach induction and try to make more explicit this fundamental connection between inductive reasoning and recursive programming. In this BoF session, we will discuss curriculum, strategies, and fun examples for teaching induction with an eye towards giving induction tangible and practical relevance for the computer science undergraduate. Peter-Michael Osera, Brent A. Yorgey |
SIGCSE | 2 |
| 2012 | Monoids: theme and variations (functional pearl)abstractThe monoid is a humble algebraic structure, at first glance even downright boring. However, there's much more to monoids than meets the eye. Using examples taken from the diagrams vector graphics framework as a case study, I demonstrate the power and beauty of monoids for library design. The paper begins with an extremely simple model of diagrams and proceeds through a series of incremental variations, all related somehow to the central theme of monoids. Along the way, I illustrate the power of compositional semantics; why you should also pay attention to the monoid's even humbler cousin, the semigroup; monoid homomorphisms; and monoid actions. Brent A. Yorgey |
Haskell | 1 |
| 2011 | Binders unboundabstractImplementors of compilers, program refactorers, theorem provers, proof checkers, and other systems that manipulate syntax know that dealing with name binding is difficult to do well. Operations such as α-equivalence and capture-avoiding substitution seem simple, yet subtle bugs often go undetected. Furthermore, their implementations are tedious, requiring "boilerplate" code that must be updated whenever the object language definition changes. Stephanie Weirich, Brent A. Yorgey, Tim Sheard |
ICFP | 2 |
| 2010 | Species and functors and types, oh my!abstractThe theory of combinatorial species, although invented as a purely mathematical formalism to unify much of combinatorics, can also serve as a powerful and expressive language for talking about data types. With potential applications to automatic test generation, generic programming, and language design, the theory deserves to be much better known in the functional programming community. This paper aims to teach the basic theory of combinatorial species using motivation and examples from the world of functional programming. It also introduces the species library, available on Hackage, which is used to illustrate the concepts introduced and can serve as a platform for continued study and research. Brent A. Yorgey |
Haskell | 1 |