Profunctor optics, a categorical update

B Clarke, D Elkins, J Gibbons… - …, 2024 - compositionality.episciences.org
Optics are bidirectional data accessors that capture data transformation patterns such as
accessing subfields or iterating over containers. Profunctor optics are a particular choice of …

Type Inference Logics

D Carnier, F Pottier, S Keuchel - … of the ACM on Programming Languages, 2024 - dl.acm.org
Type inference is essential for statically-typed languages such as OCaml and Haskell. It can
be decomposed into two (possibly interleaved) phases: a generator converts programs to …

Notions of computation as monoids

E Rivas, M Jaskelioff - Journal of functional programming, 2017 - cambridge.org
There are different notions of computation, the most popular being monads, applicative
functors, and arrows. In this article, we show that these three notions can be seen as …

Profunctor optics and traversals

M Román - arXiv preprint arXiv:2001.08045, 2020 - arxiv.org
Optics are bidirectional accessors of data structures; they provide a powerful abstraction of
many common data transformations. This abstraction is compositional thanks to a …

A representation theorem for second-order functionals

M Jaskelioff, R O'connor - Journal of functional programming, 2015 - cambridge.org
Representation theorems relate seemingly complex objects to concrete, more tractable
ones. In this paper, we take advantage of the abstraction power of category theory and …

Needle & Knot: Binder boilerplate tied up

S Keuchel, S Weirich, T Schrijvers - … on Programming, ESOP 2016, Held as …, 2016 - Springer
To lighten the burden of programming language mechanization, many approaches have
been developed that tackle the substantial boilerplate which arises from variable binders …

Tealeaves: Structured Monads for Generic First-Order Abstract Syntax Infrastructure

L Dunn, V Tannen, S Zdancewic - 14th International Conference …, 2023 - drops.dagstuhl.de
Verifying the metatheory of a formal system in Coq involves a lot of tedious" infrastructural"
reasoning about variable binders. We present Tealeaves, a generic framework for first-order …

Understanding idiomatic traversals backwards and forwards

R Bird, J Gibbons, S Mehner, J Voigtländer… - Proceedings of the …, 2013 - dl.acm.org
We present new ways of reasoning about a particular class of effectful Haskell programs,
namely those expressed as idiomatic traversals. Starting out with a specific problem about …

System F-omega with equirecursive types for datatype-generic programming

Y Cai, PG Giarrusso, K Ostermann - … of the 43rd Annual ACM SIGPLAN …, 2016 - dl.acm.org
Traversing an algebraic datatype by hand requires boilerplate code which duplicates the
structure of the datatype. Datatype-generic programming (DGP) aims to eliminate such …

Breadth-First Traversal via Staging

J Gibbons, DO Kidney, T Schrijvers, N Wu - International Conference on …, 2022 - Springer
An effectful traversal of a data structure iterates over every element, in some predetermined
order, collecting computational effects in the process. Depth-first effectful traversal of a tree is …