139
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Breaking a monad-comonad symmetry between computational effects

      Preprint

      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Computational effects may often be interpreted in the Kleisli category of a monad or in the coKleisli category of a comonad. The duality between monads and comonads corresponds, in general, to a symmetry between construction and observation, for instance between raising an exception and looking up a state. Thanks to the properties of adjunction one may go one step further: the coKleisli-on-Kleisli category of a monad provides a kind of observation with respect to a given construction, while dually the Kleisli-on-coKleisli category of a comonad provides a kind of construction with respect to a given observation. In the previous examples this gives rise to catching an exception and updating a state. However, the interpretation of computational effects is usually based on a category which is not self-dual, like the category of sets. This leads to a breaking of the monad-comonad duality. For instance, in a distributive category the state effect has much better properties than the exception effect. This remark provides a novel point of view on the usual mechanism for handling exceptions. The aim of this paper is to build an equational semantics for handling exceptions based on the coKleisli-on-Kleisli category of the monad of exceptions. We focus on n-ary functions and conditionals. We propose a programmer's language for exceptions and we prove that it has the required behaviour with respect to n-ary functions and conditionals.

          Related collections

          Most cited references 13

          • Record: found
          • Abstract: not found
          • Article: not found

          Generalising monads to arrows

           John Hughes (2000)
            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            Introduction to extensive and distributive categories

              Bookmark
              • Record: found
              • Abstract: not found
              • Conference Proceedings: not found

              The essence of functional programming

               Philip Wadler (1992)
                Bookmark

                Author and article information

                Journal
                05 February 2014
                Article
                10.1017/S0960129511000752
                1402.1051

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                Custom metadata
                Mathematical Structures in Computer Science 22, 4 (2012) p.719-722
                arXiv admin note: substantial text overlap with arXiv:1310.0605
                cs.LO math.CT
                ccsd

                Comments

                Comment on this article