Internal lenses as functors and cofunctors

Bryce Clarke*

*Corresponding author for this work

Research output: Contribution to journalConference paper

3 Citations (Scopus)
11 Downloads (Pure)


Lenses may be characterised as objects in the category of algebras over a monad, however they are often understood instead as morphisms, which propagate updates between systems. Working internally to a category with pullbacks, we define lenses as simultaneously functors and cofunctors between categories. We show that lenses may be canonically represented as a particular commuting triangle of functors, and unify the classical state-based lenses with both c-lenses and d-lenses in this framework. This new treatment of lenses leads to considerable simplifications that are important in applications, including a clear interpretation of lens composition.

Original languageEnglish
Pages (from-to)183-195
Number of pages13
JournalElectronic Proceedings in Theoretical Computer Science, EPTCS
Publication statusPublished - 15 Sep 2020
Event2019 Applied Category Theory 2019, ACT 2019 - Oxford, United Kingdom
Duration: 15 Jul 201919 Jul 2019

Bibliographical note

Version archived for private and non-commercial use with the permission of the author/s and according to publisher conditions. For further rights please contact the publisher.

Journal issue edited by: John Baez and Bob Coecke


Dive into the research topics of 'Internal lenses as functors and cofunctors'. Together they form a unique fingerprint.

Cite this