Internal lenses as functors and cofunctors

Bryce Clarke*

*Corresponding author for this work

    Research output: Contribution to journalConference paper

    9 Citations (Scopus)
    50 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 Sept 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