137 citations · 197 across the 8 of their papers we have counts for
8 papers
Proceedings Ninth Workshop on Mathematically Structured Functional Programming
Jeremy Gibbons, Max S. New
This volume contains the proceedings of the Ninth Workshop on Mathematically Structured Functional Programming (MSFP 2022). The meeting took place on the 2nd of April as a satellit…
Continuation-Passing Style, Defunctionalization, Accumulations, and Associativity
Jeremy Gibbons
Context: Reynolds showed us how to use continuation-passing style and defunctionalization to transform a recursive interpreter for a language into an abstract machine for programs…
Profunctor Optics, a Categorical Update
Bryce Clarke, Derek Elkins, Jeremy Gibbons +4
Optics are bidirectional data accessors that capture data transformation patterns such as accessing subfields or iterating over containers. Profunctor optics are a particular choic…
Profunctor Optics: Modular Data Accessors
Matthew Pickering, Jeremy Gibbons, Nicolas Wu
CONTEXT: Data accessors allow one to read and write components of a data structure, such as the fields of a record, the variants of a union, or the elements of a container. These d…
From Push/Enter to Eval/Apply by Program Transformation
Maciej Piróg, Jeremy Gibbons
Push/enter and eval/apply are two calling conventions used in implementations of functional languages. In this paper, we explore the following observation: when considering functio…
Notions of bidirectional computation and entangled state monads
Faris Abou-Saleh, James Cheney, Jeremy Gibbons +2
Bidirectional transformations (bx) support principled consistency maintenance between data sources. Each data source corresponds to one perspective on a composite system, manifeste…
Tracing monadic computations and representing effects
Maciej Piróg, Jeremy Gibbons
In functional programming, monads are supposed to encapsulate computations, effectfully producing the final result, but keeping to themselves the means of acquiring it. For various…
Maximum Segment Sum, Monadically (distilled tutorial, with solutions)
Jeremy Gibbons
The maximum segment sum problem is to compute, given a list of integers, the largest of the sums of the contiguous segments of that list. This problem specification maps directly o…