VLDB 2026 Research / reviewers in the wild / expert
Jamie Willis
dblp:231/5138
· DBLP profile ↗
3ranked-venue papers
3as first author
2since 2021 · last 2022
0000-0003-3834-4741ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 3 first-author · 2 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Oregano: staging regular expressions with Moore Cayley fusionabstractRegular expressions are a tool for recognising regular languages, historically implemented using derivatives or non-deterministic finite automata. They are convenient for many light-weight parsing workloads, but their traditional formulation only lends them to matching text, not returning fully-structured results. This contrasts with other forms of parsing, where the aim is to extract meaningful data, for example abstract syntax trees. Yet, most regular expression libraries do not support this useful output, and those that do are often slower, and backed by parser combinator libraries. Jamie Willis, Nicolas Wu, Tom Schrijvers |
Haskell | 1 |
| 2021 | Design patterns for parser combinators (functional pearl)abstractParser combinators are a popular and elegant approach for parsing in functional languages. The design and implementation of such libraries are well discussed, but having a well-designed library is only one-half of the story. In this paper we explore several reusable approaches to writing parsers in combinator style, focusing on easy to apply patterns to keep parsing code simple, separated, and maintainable. Jamie Willis, Nicolas Wu |
Haskell | 1 |
| 2020 | Staged selective parser combinatorsabstractParser combinators are a middle ground between the fine control of hand-rolled parsers and the high-level almost grammar-like appearance of parsers created via parser generators. They also promote a cleaner, compositional design for parsers. Historically, however, they cannot match the performance of their counterparts. This paper describes how to compile parser combinators into parsers of hand-written quality. This is done by leveraging the static information present in the grammar by representing it as a tree. However, in order to exploit this information, it will be necessary to drop support for monadic computation since this generates dynamic structure. Selective functors can help recover lost functionality in the absence of monads, and the parser tree can be partially evaluated with staging. This is implemented in a library called Parsley. Jamie Willis, Nicolas Wu, Matthew Pickering |
Proc. ACM Program. Lang. | 1 |