VLDB 2026 Research / reviewers in the wild / expert
James Chapman 0001
dblp:50/2270
· DBLP profile ↗
14ranked-venue papers
4as first author
3since 2021 · last 2026
0000-0001-9036-8252ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 1 first-author · 3 since 2021Theory of computation · 6 · 3 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Algebraic reasoning for timeliness-guided system design
Seyed Hossein Haeri, Peter Van Roy, Heinrich Apfelmus, Peter Thompson 0002, Neil Davies 0001, Magne Haveraaen, Mikhail Barash, Kevin Hammond, James Chapman 0001, Artjoms Sinkarovs |
J. Log. Algebraic Methods Program. | 9 |
| 2022 | Reasonable Agda is correct Haskell: writing verified Haskell using agda2hsabstractModern dependently typed languages such as Agda can be used to statically enforce the correctness of programs. However, they still lack the large ecosystem of a more popular language like Haskell. To combine the strength of both approaches, we present agda2hs, a tool that translates an expressive subset of Agda to readable Haskell, erasing dependent types and proofs in the process. Thanks to Agda's support for erasure annotations, this process is both safe and transparent to the user. Compared to other tools for program extraction, agda2hs uses a syntax that is already familiar to functional programmers, allows for both intrinsic and extrinsic approaches to verification, and produces Haskell code that is easy to read and audit by programmers with no knowledge of Agda. Jesper Cockx, Orestis Melkonian, Lucas Escot, James Chapman 0001, Ulf Norell |
Haskell | 4 |
| 2021 | A type- and scope-safe universe of syntaxes with binding: their semantics and proofsabstractAbstract The syntax of almost every programming language includes a notion of binder and corresponding bound occurrences, along with the accompanying notions of α-equivalence, capture-avoiding substitution, typing contexts, runtime environments, and so on. In the past, implementing and reasoning about programming languages required careful handling to maintain the correct behaviour of bound variables. Modern programming languages include features that enable constraints like scope safety to be expressed in types. Nevertheless, the programmer is still forced to write the same boilerplate over again for each new implementation of a scope-safe operation (e.g., renaming, substitution, desugaring, printing), and then again for correctness proofs. We present an expressive universe of syntaxes with binding and demonstrate how to (1) implement scope-safe traversals once and for all by generic programming; and (2) how to derive properties of these traversals by generic proving. Our universe description, generic traversals and proofs, and our examples have all been formalised in Agda and are available in the accompanying material available online at https://github.com/gallais/generic-syntax . Guillaume Allais, Robert Atkey, James Chapman 0001, Conor McBride, James McKinna |
J. Funct. Program. | 3 |
| 2020 | Native Custom Tokens in the Extended UTXO Model
Manuel M. T. Chakravarty, James Chapman 0001, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, Philip Wadler |
ISoLA (3) | 2 |
| 2020 | UTXOsf ma: UTXO with Multi-asset Support
Manuel M. T. Chakravarty, James Chapman 0001, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, Philip Wadler, Joachim Zahnentferner |
ISoLA (3) | 2 |
| 2019 | System F in Agda, for Fun and Profit
James Chapman 0001, Roman Kireev, Chad Nester, Philip Wadler |
MPC | 1 |
| 2019 | Quotienting the delay monad by weak bisimilarityabstractThe delay datatype was introduced by Capretta (Logical Methods in Computer Science, 1(2), article 1, 2005) as a means to deal with partial functions (as in computability theory) in Martin-Löf type theory. The delay datatype is a monad. It is often desirable to consider two delayed computations equal, if they terminate with equal values, whenever one of them terminates. The equivalence relation underlying this identification is called weak bisimilarity. In type theory, one commonly replaces quotients with setoids. In this approach, the delay datatype quotiented by weak bisimilarity is still a monad–a constructive alternative to the maybe monad. In this paper, we consider the alternative approach of Hofmann (Extensional Constructs in Intensional Type Theory, Springer, London, 1997) of extending type theory with inductive-like quotient types. In this setting, it is difficult to define the intended monad multiplication for the quotiented datatype. We give a solution where we postulate some principles, crucially proposition extensionality and the (semi-classical) axiom of countable choice. With the aid of these principles, we also prove that the quotiented delay datatype delivers free ω-complete pointed partial orders (ωcppos). Altenkirch et al. (Lecture Notes in Computer Science, vol. 10203, Springer, Heidelberg, 534–549, 2017) demonstrated that, in homotopy type theory, a certain higher inductive–inductive type is the free ωcppo on a type X essentially by definition; this allowed them to obtain a monad of free ωcppos without recourse to a choice principle. We notice that, by a similar construction, a simpler ordinary higher inductive type gives the free countably complete join semilattice on the unit type 1. This type suffices for constructing a monad, which is isomorphic to the one of Altenkirch et al. We have fully formalized our results in the Agda dependently typed programming language. James Chapman 0001, Tarmo Uustalu, Niccolò Veltri |
Math. Struct. Comput. Sci. | 1 |
| 2018 | A type and scope safe universe of syntaxes with binding: their semantics and proofsabstractAlmost every programming language’s syntax includes a notion of binder and corresponding bound occurrences, along with the accompanying notions of α-equivalence, capture avoiding substitution, typing contexts, runtime environments, and so on. In the past, implementing and reasoning about programming languages required careful handling to maintain the correct behaviour of bound variables. Modern programming languages include features that enable constraints like scope safety to be expressed in types. Nevertheless, the programmer is still forced to write the same boilerplate over again for each new implementation of a scope safe operation (e.g., renaming, substitution, desugaring, printing, etc.), and then again for correctness proofs. We present an expressive universe of syntaxes with binding and demonstrate how to (1) implement scope safe traversals once and for all by generic programming; and (2) how to derive properties of these traversals by generic proving. Our universe description, generic traversals and proofs, and our examples have all been formalised in Agda and are available in the accompanying material. NB. we recommend printing the paper in colour to benefit from syntax highlighting in code fragments. Guillaume Allais, Robert Atkey, James Chapman 0001, Conor McBride, James McKinna |
Proc. ACM Program. Lang. | 3 |
| 2017 | Type-and-scope safe programs and their proofsabstractWe abstract the common type-and-scope safe structure from computations on λ-terms that deliver, e.g., renaming, substitution, evaluation, CPS-transformation, and printing with a name supply. By exposing this structure, we can prove generic simulation and fusion lemmas relating operations built this way. This work has been fully formalised in Agda. Guillaume Allais, James Chapman 0001, Conor McBride, James McKinna |
CPP | 2 |
| 2015 | Quotienting the Delay Monad by Weak Bisimilarity
James Chapman 0001, Tarmo Uustalu, Niccolò Veltri |
ICTAC | 1 |
| 2012 | When Is a Container a Comonad?
Danel Ahman, James Chapman 0001, Tarmo Uustalu |
FoSSaCS | 2 |
| 2010 | Monads Need Not Be Endofunctors
Thorsten Altenkirch, James Chapman 0001, Tarmo Uustalu |
FoSSaCS | 2 |
| 2010 | The gentle art of levitationabstractWe present a closed dependent type theory whose inductive types are given not by a scheme for generative declarations, but by encoding in a universe. Each inductive datatype arises by interpreting its description - a first-class value in a datatype of descriptions. Moreover, the latter itself has a description. Datatype-generic programming thus becomes ordinary programming. We show some of the resulting generic operations and deploy them in particular, useful ways on the datatype of datatype descriptions itself. Simulations in existing systems suggest that this apparently self-supporting setup is achievable without paradox or infinite regress. James Chapman 0001, Pierre-Évariste Dagand, Conor McBride, Peter Morris |
ICFP | 1 |
| 2009 | Big-step normalisationabstractAbstract Traditionally, decidability of conversion for typed λ-calculi is established by showing that small-step reduction is confluent and strongly normalising. Here we investigate an alternative approach employing a recursively defined normalisation function which we show to be terminating and which reflects and preserves conversion. We apply our approach to the simply typed λ-calculus with explicit substitutions and βη-equality, a system which is not strongly normalising. We also show how the construction can be extended to system T with the usual β-rules for the recursion combinator. Our approach is practical, since it does verify an actual implementation of normalisation which, unlike normalisation by evaluation, is first order. An important feature of our approach is that we are using logical relations to establish equational soundness (identity of normal forms reflects the equational theory), instead of the usual syntactic reasoning using the Church–Rosser property of a term rewriting system. Thorsten Altenkirch, James Chapman 0001 |
J. Funct. Program. | 2 |