193
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

          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 references13

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

          Generalising monads to arrows

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

            The essence of functional programming

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

              Introduction to extensive and distributive categories

                Bookmark

                Author and article information

                Journal
                10.1017/S0960129511000752
                1402.1051

                Theoretical computer science,General mathematics
                Theoretical computer science, General mathematics

                Comments

                Comment on this article