English
Related papers

Related papers: Reflections on Monadic Lenses

200 papers

Bidirectional transformations (bx) support principled consistency maintenance between data sources. Each data source corresponds to one perspective on a composite system, manifested by operations to 'get' and 'set' a view of the whole from…

Programming Languages · Computer Science 2017-09-12 Faris Abou-Saleh , James Cheney , Jeremy Gibbons , James McKinna , Perdita Stevens

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

This paper presents an innovative approach to applying bidirectional transformations (BX) in practice. To introduce BX to a wider audience of technologists, engineers, and researchers, we have chosen to use C# to develop Bifrons - a library…

Software Engineering · Computer Science 2025-03-07 Juraj Dončević , Mario Brčić , Danijel Mlinarić

Bidirectional transformation, also called lens, has played important roles in maintaining consistency in many fields of applications. A lens is specified by a pair of forward and backward functions which relate to each other in a consistent…

Programming Languages · Computer Science 2019-10-24 Keisuke Nakano

Bimorphic lenses are a simplification of polymorphic lenses that (like polymorphic lenses) have a type defined by 4 parameters, but which are defined in a monomorphic type system (i.e. an ordinary category with finite products). We show…

Category Theory · Mathematics 2019-08-27 Jules Hedges

Notions of computation can be modelled by monads. Algebraic effects offer a characterization of monads in terms of algebraic operations and equational axioms, where operations are basic programming features, such as reading or updating the…

Programming Languages · Computer Science 2024-05-21 Cristina Matache , Sam Lindley , Sean Moss , Sam Staton , Nicolas Wu , Zhixuan Yang

Lenses are a well-established structure for modelling bidirectional transformations, such as the interactions between a database and a view of it. Lenses may be symmetric or asymmetric, and may be composed, forming the morphisms of a…

Machine Learning · Computer Science 2019-05-03 Brendan Fong , Michael Johnson

A bidirectional transformation is a pair of transformations satisfying certain well-behavedness properties: one maps source data into view data, and the other translates changes on the view back to the source. However, when multiple views…

Programming Languages · Computer Science 2026-01-09 Kazutaka Matsuda , Minh Nguyen , Meng Wang

One can perform equational reasoning about computational effects with a purely functional programming language thanks to monads. Even though equational reasoning for effectful programs is desirable, it is not yet mainstream. This is partly…

Logic in Computer Science · Computer Science 2025-01-15 Reynald Affeldt , Jacques Garrigue , Takafumi Saikawa

Monads provide a simple and concise interface to user-defined computational effects in functional programming languages. This enables equational reasoning about effects, abstraction over monadic interfaces and the development of monad…

Programming Languages · Computer Science 2025-05-05 Yuchen Jiang , Runze Xue , Max S. New

We extend intersection types to a computational $\lambda$-calculus with algebraic operations \`a la Plotkin and Power. We achieve this by considering monadic intersections, whereby computational effects appear not only in the operational…

Programming Languages · Computer Science 2024-01-24 Francesco Gavazzo , Riccardo Treglia , Gabriele Vanoni

Lenses, optics and dependent lenses (or equivalently morphisms of containers, or equivalently natural transformations of polynomial functors) are all widely used in applied category theory as models of bidirectional processes. From the…

Category Theory · Mathematics 2021-12-22 Dylan Braithwaite , Matteo Capucci , Bruno Gavranović , Jules Hedges , Eigil Fjeldgren Rischel

Monads are a popular tool for the working functional programmer to structure effectful computations. This paper presents polymonads, a generalization of monads. Polymonads give the familiar monadic bind the more general type forall a,b. L a…

Programming Languages · Computer Science 2014-06-10 Michael Hicks , Gavin Bierman , Nataliya Guts , Daan Leijen , Nikhil Swamy

Inspired by the classical theory of modules over a monoid, we give a first account of the natural notion of module over a monad. The associated notion of morphism of left modules ("Linear" natural transformations) captures an important…

Logic in Computer Science · Computer Science 2007-05-23 André Hirschowitz , Marco Maggesi

Embeddings are a fundamental component of many modern machine learning and natural language processing models. Understanding them and visualizing them is essential for gathering insights about the information they capture and the behavior…

Computation and Language · Computer Science 2019-05-30 Piero Molino , Yang Wang , Jiawei Zhang

The recent rise of interest in bidirectional transformations (BXs) has led to the development of many BX frameworks, originating in diverse computer science disciplines. From a user perspective, these frameworks vary significantly in both…

Programming Languages · Computer Science 2013-06-27 Hugo Pacheco , Nuno Macedo , Alcino Cunha , Janis Voigtländer

Complex safety-critical systems require multiple models for a comprehensive description, resulting in error-prone development and laborious verification. Bidirectional transformation (BX) is an approach to automatically synchronizing these…

Software Engineering · Computer Science 2024-05-02 Jianhong Zhao , Yongwang Zhao , Peisen Yao , Fanlang Zeng , Bohua Zhan , Kui Ren

We introduce the abstract notions of "monadic operational semantics", a small-step semantics where computational effects are modularly modeled by a monad, and "type-and-effect system", including "effect types" whose interpretation lifts…

Programming Languages · Computer Science 2025-04-15 Francesco Dagnino , Paola Giannini , Elena Zucca

We develop the theory of strong and commutative monads in the 2-dimensional setting of bicategories. This provides a framework for the analysis of effects in many recent models which form bicategories and not categories, such as those based…

Logic in Computer Science · Computer Science 2024-06-12 Hugo Paquet , Philip Saville

Delta lenses are a kind of morphism between categories which are used to model bidirectional transformations between systems. Classical state-based lenses, also known as very well-behaved lenses, are both algebras for a monad and coalgebras…

Category Theory · Mathematics 2022-03-02 Bryce Clarke
‹ Prev 1 2 3 10 Next ›