Monads (and their categorical dual - comonads) are important concepts in category theory and while monads enjoy their popularity in functional languages (mainly due to the programming language Haskell), comonads are often forgotten. In this work we present a definition of comonads suitable for programming and give examples of their use. One of the more important examples is zipper - a structure used to represent position. We show that zipper can be automatically derived for any regular type and show that this operation is very reminiscent of derivative from mathematical analysis. We also show worked examples of various problems that comonads can help solve in the language Haskell. All relevant proofs for the theoretical part of this work ar...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
AbstractIn this extended abstract we provide a very brief overview of the notion of a monad along wi...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
The category-theoretic concept of a monad occurs widely as a design pattern for functional programmi...
he monad is a mathematical concept, used by Haskell to describe — among other things — Input/Output....
AbstractWe argue that symmetric (semi)monoidal comonads provide a means to structure context-depende...
We present a detailed examination of applications of category theory to functional programming lang...
Kleisli categories over monads have been used in denotational semantics to describe functional langu...
Kleisli categories over monads have been used in denotational semantics to describe functional langu...
International audienceWe introduce and study functor-functor and monad-comonad interaction laws as m...
The analysis of set comonads whose underlying functor is a container functor in terms of directed co...
. We present a canonical system for comonads which can be extended to the notion of a computational ...
Monads are a useful abstraction of computation, as they model diverse computational effects such as ...
AbstractThe concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his ...
Abbott, Altenkirch, Ghani and others have taught us that many parameterizeddatatypes (set functors) ...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
AbstractIn this extended abstract we provide a very brief overview of the notion of a monad along wi...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
The category-theoretic concept of a monad occurs widely as a design pattern for functional programmi...
he monad is a mathematical concept, used by Haskell to describe — among other things — Input/Output....
AbstractWe argue that symmetric (semi)monoidal comonads provide a means to structure context-depende...
We present a detailed examination of applications of category theory to functional programming lang...
Kleisli categories over monads have been used in denotational semantics to describe functional langu...
Kleisli categories over monads have been used in denotational semantics to describe functional langu...
International audienceWe introduce and study functor-functor and monad-comonad interaction laws as m...
The analysis of set comonads whose underlying functor is a container functor in terms of directed co...
. We present a canonical system for comonads which can be extended to the notion of a computational ...
Monads are a useful abstraction of computation, as they model diverse computational effects such as ...
AbstractThe concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his ...
Abbott, Altenkirch, Ghani and others have taught us that many parameterizeddatatypes (set functors) ...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
AbstractIn this extended abstract we provide a very brief overview of the notion of a monad along wi...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...