activity
20112022
most citedNotions of bidirectional computation and entangled state monads

137 citations · 197 across the 8 of their papers we have counts for

collaborators

8 papers

cs.PL2022

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…

cs.PL2021★ 6 cited

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…

cs.PL2020★ 19 cited

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…

cs.PL2017★ 28 cited

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…

cs.PL2016

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…

cs.PL2015★ 137 cited

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…

cs.PL2012★ 6 cited

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…

cs.DS2011★ 1 cited

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…